Dispenser system and methods for medication compliance

ABSTRACT

A medication dispensing system is provided and includes a medicine transfer device (MTD) and a controller. The MTD transfers medicine between first and second containers. The first container initially stores medicine. The controller: determines a first predetermined amount of medicine to be dispensed from the medicine dispensing system; causes the MTD to discharge a second predetermined amount of the medicine from the first container onto the MTD, and transfer a third predetermined amount of the medicine from the MTD to the second container; subsequent to the transfer of the third predetermined amount, determine whether the second container has greater than or equal to the first predetermined amount; and if the second container has less than the first predetermined amount, cause the MTD to transfer a portion of the medicine on the MTD into the second container or discharge a portion of the medicine in the first container onto the MTD.

CROSS-REFERENCE TO RELATED APPLICATIONS

This non-provisional application claims the benefit of U.S. ProvisionalPatent Application No. 62/584,041 filed Nov. 9, 2017 and U.S.Provisional Patent Application No. 62/590,305 filed Nov. 23, 2017. Thisnon-provisional application is a continuation-in-part of U.S. patentapplication Ser. No. 15/687,437 filed Aug. 25, 2017, which is acontinuation of non-provisional U.S. patent application Ser. No.15/687,428 filed Aug. 25, 2017, which is a continuation of PCT PatentApplication No. PCT/US2017/048643 filed Aug. 25, 2017, which claims thebenefit of U.S. Provisional Patent Application No. 62/416,251 filed Nov.2, 2016 and U.S. Provisional Application No. 62/379,866 filed Aug. 26,2016.

This application is related to PCT Application PCT/US2017/040863 filedJul. 6, 2017, which is a continuation of non-provisional U.S. patentapplication Ser. No. 15/613,852 filed Jun. 5, 2017, which is acontinuation of non-provisional U.S. patent application Ser. No.15/613,675 filed Jun. 5, 2017, which claims priority to U.S. ProvisionalPatent Application No. 62/392,621 filed Jun. 6, 2016. This applicationis also related to U.S. patent application Ser. No. 15/395,076 filedDec. 30, 2016 and U.S. patent application Ser. No. 15/202,778 filed Jul.6, 2016.

The entire disclosures of the applications referenced above areincorporated herein by reference.

BACKGROUND

Improving medical adherence and compliance is an area of interest formedical practitioners and patients alike, including in pharmacy,facility and home settings. Traditional solutions, like the varioustypes of pill boxes and smart caps, may fail to address the root causesof medical non-adherence completely and effectively.

For instance, in an attempt to improve patient compliance, some systemsmay include timer-like functions or smart phone applications to remindpatients when to take specific medications. However, these solutions maynot effectively monitor whether the right dosage has been taken. Forinstance, tracking each time a bottle has been opened may not accountfor, for instance, how many pills are taken at a time. Furthermore,pharmacists or clinicians may not properly preprogram a patient's drugroutine into a solution (e.g., in the form of programming a traditionalRF tag, as an example). Such can limit accessibility of solutions to aminority of the population and may prevent proper usage for manypatients and caregivers. For people taking multiple medications, thereis always a possibility of mixing-up pills between reminders. Forinstance, a physical reminder device initially set-up to remind andtrack pill A may not track a second pill B if misplaced in a bottle.

Pre-sorting pill devices (e.g., pill boxes) may help manage complexmedicine regimens. For instance, a user may actively prepare themedications to be taken over a coming week or even a month. However,these solutions may include significant cognitive effort, andpre-sorting the medications can be both cumbersome for the user, andprone to errors in sorting the medications correctly (i.e., the user maynot correctly sort out the correct medication, in the right dosage, forthe right time, all the time). Other solutions may fail to effectivelyremind or notify the patient when to take a certain dosage ofmedication.

There have also been numerous attempts to develop automatic dispensingsystems. However, previous medicine-dispensing devices may fail toreliably dispense medications when needed.

Therefore, a need in the field exists for a solution that can not onlydispense and remind patients when to take specific medications, but alsotrack that the correct dosages have been taken by the patient at thecorrect time and ensure that the right medication is taken. A need alsoexists for a dispensing system to successfully determine whether therehas been a mistake in the dispensing process without intervention fromthe patient; this need exists to increase operational reliability toextremely high levels. A further need exists for a reminder systemnotifying patients to bring their medications along when they leavetheir homes. A need also exists for a solution for the above, whilestill remaining accessible to an average patient (i.e., having onlyminimal changes to the patient's lifestyle) since some solutions rely onpharmacists or clinicians to program the device, which can limitaccessibility of the solution to limited populations with access to thetechnology.

SUMMARY

A medication dispensing system is provided and includes a medicinetransfer device and a controller. The medicine transfer device isconfigured to transfer medicine between a first container and a secondcontainer, where the first container is configured to initially storemedicine. The controller is configured to: determine a firstpredetermined amount of medicine to be dispensed from the medicinedispensing system; cause the medicine transfer device to (i) dischargeat least a second predetermined amount of the medicine from the firstcontainer onto the medicine transfer device, and (ii) transfer at leasta third predetermined amount of the medicine from the medicine transferdevice to the second container; subsequent to the transfer of the thirdpredetermined amount of the medicine, determine whether the secondcontainer has greater than or equal to the first predetermined amount ofthe medicine; and if the second container has less than the firstpredetermined amount of the medicine, cause the medicine transfer deviceto at least one of (i) transfer at least a portion of the medicine onthe medicine transfer device into the second container, or (ii)discharge at least a portion of the medicine in the first container ontothe medicine transfer device.

In other features, a medication dispensing system is also provided andincludes a container transfer device and a controller. The containertransfer device is configured to move a first container and a secondcontainer to transfer medicine between the first container and thesecond container, where the first container is configured to initiallystore the medicine. The controller is configured to: determine a firstpredetermined amount of medicine to be dispensed from the medicinedispensing system; cause the container transfer device to discharge atleast a second predetermined amount of the medicine from the firstcontainer into the second container; subsequent to the discharge of theat least the second predetermined amount of the medicine, determinewhether the second container has greater than or equal to the firstpredetermined amount of the medicine; and if the second container doesnot have the first predetermined amount of the medicine, cause thecontainer transfer device to discharge a portion of the medicine in thesecond container into the first container.

In other features, a medication dispensing system is provided andincludes a container transfer device and a controller. The containertransfer device is configured to move containers to transfer medicinebetween containers, where the containers include a first container and asecond container, and where the first container is configured toinitially store the medicine. The controller is configured to: determinea first predetermined amount of the medicine to be dispensed from themedicine dispensing system; cause to discharge at least a secondpredetermined amount of the medicine from the first container into thesecond container; subsequent to the discharge of the at least the secondpredetermined amount of the medicine, determine whether the secondcontainer has greater than or equal to the first predetermined amount ofthe medicine; and if the second container does not have the firstpredetermined amount of the medicine, at least one of transfer a portionof the medicine in the second container into the first container or athird container.

In other features, a medication dispensing system is provided andincludes a medicine transfer device and a controller. The medicinetransfer device is configured to transfer medicine between containers,where the containers include a first container and a second container,and wherein the first container is configured to initially storemedicine. The controller is configured to: determine a firstpredetermined amount of medicine to be dispensed from the medicinedispensing system; cause the medicine transfer device to (i) dischargeat least a second predetermined amount of the medicine from the firstcontainer onto the medicine transfer device, and (ii) transfer at leasta third predetermined amount of the medicine from the medicine transferdevice to the second container; subsequent to the transfer of the thirdpredetermined amount of the medicine, determine whether the secondcontainer has greater than or equal to the first predetermined amount ofthe medicine; and if the second container has less than the firstpredetermined amount of the medicine, cause the medicine transfer deviceto at least one of (i) transfer at least a portion of the medicine onthe medicine transfer device into the second container, or (ii)discharge at least a portion of the medicine in the first container ontothe medicine transfer device.

BRIEF DESCRIPTION OF THE DRAWINGS

The above, as well as other advantages of the present disclosure willbecome readily apparent to those skilled in the art from the followingdetailed description when considered in light of the accompanyingdrawings, in which:

FIG. 1 is a schematic diagram of an exemplary system;

FIG. 2 is a perspective view of an exemplary dispensing unit of thesystem as shown in FIG. 1;

FIG. 3 is a perspective view of an exemplary sub-assembly of thedispensing unit as shown in FIG. 2;

FIG. 4A illustrates a medicine container with a storage nest;

FIG. 4B illustrates the medicine container with storage nest of FIG. 4Ain an exploded view;

FIG. 5 is a schematic block diagram illustrating an exemplary system;

FIG. 6 is a flow diagram illustrating an exemplary process for settingup the system of FIG. 1 for operation;

FIG. 7 is a flow diagram illustrating an exemplary process for inputtingprescription information;

FIG. 8 is a flow diagram illustrating an exemplary process for inputtingmedicine container information;

FIG. 9A is a flow diagram illustrating an exemplary process fordispensing a dose of medicine;

FIG. 9B is a flow diagram illustrating an exemplary process forcontinuing to iterate beyond FIG. 9A for dispensing a dose of medicine;

FIG. 10 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG. 3;

FIG. 11A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 11B illustrates the exemplary system of FIG. 11A during operation;

FIG. 11C illustrates a top view of the exemplary system of FIG. 11B;

FIG. 12 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIGS.11A-11C;

FIG. 13A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 13B illustrates the exemplary system of FIG. 13A during operation;

FIG. 14 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.13A-13B;

FIG. 15A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 15B illustrates the exemplary system of FIG. 15A during operation;

FIG. 16 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.15A-15B;

FIG. 17A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 17B illustrates the exemplary system of FIG. 17A during operation;

FIG. 17C illustrates a top view of the exemplary system of FIG. 17B;

FIG. 18 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.17A-17C;

FIG. 19A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 19B illustrates the exemplary system of FIG. 19A during operation;

FIG. 20 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.19A-19B;

FIG. 21A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 21B illustrates the exemplary system of FIG. 19A during operation;

FIG. 22 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.21A-21B;

FIG. 23 is a perspective view of an exemplary sub-assembly of thedispensing unit as shown in FIG. 2;

FIG. 24 is a flow diagram illustrating an exemplary process for settingup the system of FIG. 1 for operation;

FIG. 25 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine;

FIG. 26 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG. 23;

FIG. 27A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 27B illustrates the exemplary system of FIG. 27A during operation;

FIG. 27C illustrates a top view of the exemplary system of FIG. 27B;

FIG. 28 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIGS.27A-27C;

FIG. 29A is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 29B illustrates the exemplary system of FIG. 29A during operation;

FIG. 30 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.29A-29B;

FIG. 31A is a perspective view of a sub-assembly according to anotherexemplary approach.

FIG. 31B illustrates the exemplary system of FIG. 31A during operation;

FIG. 32 is a flow diagram illustrating an exemplary process fordispensing a dose of medicine via the exemplary sub-assembly of FIG.31A-31B;

FIG. 33 illustrates a perspective view of an exemplary system including,for example, a container transfer unit 330 and a container storagedevice 2388;

FIG. 34 is a perspective view of a sub-assembly according to anotherexemplary approach;

FIG. 35 is a perspective view of a sub-assembly according to anotherexemplary approach.

DETAILED DESCRIPTION

The present disclosure relates to devices supporting medicationcompliance. The disclosed examples include solid dispensing devices andsystems including medication dispensing devices and systems using thesame. More specifically, this may include an automatic medicinedispensing system with a portable monitoring device for notifying userswhen to take their medications and for logging when medications havebeen taken automatically through a programmable patient apparatus.

The present disclosure includes a system and method and a set of deviceswhich, when used together, assist people in managing either theirmedications or the medications of somebody they are taking care of. Byusing the disclosed medicine dispensing method the disclosed devicedispenses medications automatically and more accurately than otheravailable dispensing devices, notifying patients when to take specificmedications and track the exact dosage taken by a patient at a giventime, all while ensuring the notification is for the originally intendedmedication. For example, by using the prescription data input method ofthis disclosure, the systems herein may be readily programmable byindividual patients. Also, the use of a location tracking method createsa way to remind patients when medications may have been forgotten athome.

Further areas of applicability will become apparent from the descriptionprovided herein. It should be understood that the description andspecific examples are intended for purposes of illustration only and arenot intended to limit the scope of present disclosure.

The following description is merely exemplary in nature and is notintended to limit the present disclosure, application, or uses. Itshould be understood that throughout the drawings, correspondingreference numerals indicate corresponding parts and features. The terms“device,” “unit” and “module” may be used interchangeably. The terms“robot” means a complete robot system and/or different sub-system of thesame robot or any type of machines. The term “medicine” means any formof medicine that may include a pill or capsule.

The systems and methods herein may include one or more of a station dooror a medicine container loading station door (MCLSD), a storagecontainer or medicine storage container (MSC), a loading station ormedicine container loading station (MCLS), a reminder device or medicinereminder unit (MRU), a travel device or medicine travel unit (MTRU), acontainer transfer device or medicine container transfer unit (MCTU), astorage nest or medicine container storage nest (MCSN), a loading pointor medicine container loading point (MCLP), a discharge point ormedicine discharge point (MDP), a medicine transfer device or medicinetransfer unit (MTU), a medicine container or dispensed medicinecontainer (DMC), a transfer container or medicine transfer container(MTC), an identification device or medicine container identificationunit (MCIU), a standard container or original medicine container withoutcap (OMC), a detecting device or weight detecting device (WDD), an armtool or end of arm tool (EOAT), an alert device or travel alert unit(TAU), and a checking station or weight checking station (WCS).

Referring now to the figures, FIG. 1 illustrates an exemplary system 100that is configured to receive, store, monitor, display and transfermedication information. The system 100 may be configured for monitoringthe dosage and usage of prescription medication. The system 100 may alsobe configured to dispense the prescription medication according torequired dosages. The system 100 may include a dispensing device 102 andat least one of assemblies 140, 150 a-d, 160, and 170. Generally,assembly 140 may be a travel alert device, assemblies 150 a-d may bemedicine travel devices, and assemblies 160 and 170 may be medicinereminder devices, for example, as described in detail in U.S. patentapplication Ser. Nos. 15/613,675 and 15/613,852. The dispensing device102 may include a processor 106, a memory 108 with a program 110 storedthereon, a display 112, at least one input/output (I/O) device 114, anda communication device 116, as described in more detail with respect toFIG. 5.

Medication information may include any information associated withmedication or medicine. Medication information may be associated with orinclude a prescription (e.g., patient name, prescriber name, strength,dosage, quantity, expiration, use directions, or drug or dietinteractions), a container type (e.g., shape, size, or color), patientinformation (e.g., name or history), or a combination thereof.Medication information may include other information associated with apatient or medication.

Prescription information may include medication information associatedwith a patient or as prescribed or defined by a user such as medicalprofessional or a patient. Container information may include medicationinformation associated with a medication container or according to anidentifier on a medication container. As such, the prescriptioninformation and container information may or may not match depending onwhether the prescription was properly and accurately fulfilled or not.The container information may match the medication information if thecontent of the medicine container complies with the prescription, andthus the system may generate a notification or alert indicatingcompliance. The container information may not match the medicationinformation if the contents of the medicine container do not comply withthe prescription, and thus the system may generate a notification oralert indicating non-compliance. Accordingly, the systems herein maycompare the prescription information and the container information todetermine medication compliance or non-compliance.

Embodiments may utilize and compare multiple types of information, e.g.,related information received from distinct sources, including, but notlimited to, hospitals, pharmacies, doctors' offices, the National DrugCode (NDC), and the like. For example, the system may receiveinformation associated with a prescription (e.g., as defined by a usersuch as medical professional or patient), a medication or medicine(e.g., as defined by the contents of a medication container or by amanufacturer), and a medication container (e.g., as defined by the sizeand shape of the container or as labeled on the container). These typesof information should be the same if everything was entered and receivedcorrectly, but because the information is input separately, theinformation from various sources may not be the same. For example,errors may be introduced by way of manual inputs, user mismatches,computer transfer, RF reader, OCR, etc. As such, the system hereinleverages the information from various sources to increase the accuracyof the medication actually taken by the patient. More specifically, theinformation is received from distinct sources and compared to determinecompliance or non-compliance, thereby reducing the likelihood of errorwith multiple ways of receiving the same types of information. Dependingon whether there is a match or mismatch, the system may alert or notifythe user regarding the same to reduce the possibility of the patienttaking the wrong medication. Accordingly, the system may be advantageousin increasing the effectiveness of treatment, e.g., by informationredundancy and monitoring information with respect to at least twosources.

System 100 may further include at least one of a device 103, a server104, a network 118, a database 122, and connections 124. An exemplarydevice 103 may include any computing device including, but not limitedto, a mobile device, cellular phone, smart phone, tablet computer, nextgeneration portable device, handheld computer, notebook, or laptop. Thedevice 103 may include a processor 106 that executes program 110 toprovide the operations herein. The device 103 may include a memory 108that stores medication information and program 110. The device 103 mayinclude a communication device 116 that communicates with at least oneof the dispensing device 102, the assemblies 150-170, server 104,network 118, and database 122. The device 103 may provide operations toand control the functionality of the dispensing device 102. In additionor alternatively, the dispensing device 102 may be controllable via itsown processor 106.

Server 104 may include any computing system. For example, server 104 mayinclude a user profile server for generating and storing a user profilefor each user, server 104 may be configured to generate and storemedication information. The server 104 may be configured tocommunicatively connect with and transfer medication information betweenwith respect to any of dispensing device 102 and assemblies 140, 150a-d, 160, and/or 170, network 118, and database 122. Server 104 may bein continuous or periodic communication with dispensing device 102,assemblies 140-170, network 118, and/or database 122. Server 104 mayinclude a local, remote, or cloud-based server or a combination thereofand may be in communication with and provide medication information(e.g., as part of memory 108 or database 122) to any of dispensingdevice 102, assemblies 102-170, network 118, and/or database 122. Theserver 104 may further provide a web-based user interface (e.g., aninternet portal) to be displayed by display 112. The server 104 maycommunicate the medication information with dispensing device 102,assemblies 140-170, network 118, and/or database 122 using anotification. In addition, server 104 may be configured to storemedication information as part of memory 108 or database 122. Server 104may include a single or a plurality of centrally or geographicallydistributed servers 104. Server 104 may be configured to store andcoordinate medication information with any portion of the systemsherein.

The system 100 may include an overall network infrastructure throughwhich the dispensing device 102, assemblies 140-170, server 104, anddatabase 122 may communicate, for example, to transfer medicationinformation between each other, e.g., using connections 124. In general,a network (e.g., system 100 or network 118) may be a collection ofcomputing devices and other hardware to provide connections and carrycommunications. As an example, each device may communicate with everyother device through the use of a wired or wireless network or acombination thereof, e.g., using any wired or wireless connectionincluding direct wiring, Ethernet wiring, radio frequency (RF), cellularphone service, GPS, Bluetooth, infrared (IR) signals, or any otherconnection.

The connections 124 may be any wired or wireless connections between twoor more endpoints (e.g., devices or systems), for example, to facilitatetransfer of medication information. Connections 124 may include a localarea network (LAN) connection, for example, to communicatively connectthe devices/assemblies 102-170, server 104, and database 122 withnetwork 118. Connections 124 may include a wide area network (WAN)connection, for example, to communicatively connect server 104 withnetwork 118. Connections 124 may include a radiofrequency (RF), nearfield communication (NFC), Bluetooth®, Wi-Fi, or a wired connection, forexample, to communicatively connect assemblies 102-170.

Referring to FIG. 2, dispenser or dispensing device 102 of FIG. 1 isshown. Dispenser 102 includes a display 200, an input device 202, aloading door or medicine container loading station door (MCLSD) 204, astorage container or medicine storage container (MSC) 206, and a loadingstation or medicine container loading station (MCLS) 208. Display 200may be used to present, illustrate or display medication informationincluding, for example, instructions for operation of dispenser 102. Themedication information, e.g., on display 200, may include instructionsto prepare one or more storage containers 206 having a medical dose fora patient or user. Medicine container loading station 208 may rotatemedicine storage container 206 so that a machine vision system or ascanner 220, for instance, to take images (e.g., 360 degree pictures) ofmedicine storage container 206 to read information from a label on MSC206. MSC 206 may be operated automatically or manually, may be operatedby user inputs to display 200 or a button on a face 210 of dispenser100, or may be operated via input device 202. Machine vision system 220may be positioned to view within MCLSD 20.

FIG. 3 is a perspective view of an exemplary sub-assembly 300illustrating the disclosed system or dispenser. Sub-assembly 300 is aview of inside elements of dispenser 102 and includes a carousel 310.Sub-assembly 300 includes a loading station or MCLS 325, a firsttransfer device or first medicine container transfer unit (MCTU) 330,and a storage device or medicine container storage nest (MCSN) 335. Aloading point or medicine container loading point (MCLP) 340 may beproximate a second transfer device or second medicine container transferunit (MCTU) 345. A first medicine discharge point (MDP) 350 includes,for example, a medicine transfer unit (MTU) 355 that may include a rampor conveyor for transporting or otherwise conveying medicine from thefirst medicine discharge point 350 to a second medicine discharge point(MDP) 380. MTU 355 may include one or more devices for measuring aweight or amount of medicine positioned thereon, as will be furtherdescribed in further examples. Sub-assembly 300 includes weight checkingstation (WCS) 360, dispensed medicine container (DMC) 365, medicinetransfer containers (MTC) 370 and 375. Weight checking station 360 maydetermine an amount of weight contained thereon. Sub-assembly 300includes a calibration and verification device 382 to automaticallycalibrate weight detecting devices. The calibration and verificationdevice 382 may include, but is not limited to, a calibrator, andmultiple calibration weights with different masses.

The system may include and utilize one or a plurality of dispensedmedicine containers (DMC). For example, a first medicine container mayhave a final or prescribed dosage for patient to take and a secondmedicine container may be for system to use to transfer medicine.Medicine transfer unit (MTU), medicine transfer container (MTC),dispensed medicine container (DMC), and medicine storage containers(MSC) may or may not be separated physical devices. The medicinecontainers may have any shape, size, and may differ from thoseillustrated. One device or container may have multiple functions. TheMedicine Storage Container (MSC) may include an original or standardcontainer received with medicine from pharmacies, hospitals, etc., themedicine storage container may be integrated with or provided with thesystem, or may be a combination thereof. The medicine transfer unit(MTU) may have different forms and designs, may be a chute, a containerof any shape, a plate, a conveyor, a moving surface, a robot, a subassembly, a machine, although examples of the medicine transfer unit areshown in examples as a linear conveyor and a rotating disc. A medicinequantity sensing unit may include visual sensors, or any monitoringdevice that may count or otherwise determine a quantity of medicine, andmay include scales, load cells, balances, sensors, images, and othermeans. The medicine container transfer unit (MCTU) moves the medicinecontainers. The devices herein may have many different forms anddesigns, including a conveyor, a carousel, a robot, a walking beam, adial table, a rotary table, a sub assembly, a machine. The systemsherein may have multiple layers (such as additional medicine transferunits (MTUs), and may have multiple carousels.

In addition, in one example, containers used are original containersreceived from, for instance, a pharmacy with the medicine. However, thesystem may have its own containers and the system transfers medicinesfrom the original containers to the system containers. As such, thesystem may keep original containers. The disclosed system can transfermedicines back from system containers to original containers if needed,e.g., switch to a different medicine because of, for instance, anyallergy to a medicine.

The disclosed system may have a cleaning device to clean the surfacesafter dispensing cycle for those surfaces contacted with medicine duringthe disclosed dispensing processes.

During operation a user may attach medicine container identificationunit 385 to original medicine container 390, and together they formmedicine storage container 320. Medicine container identification unit385 may be a physical device, a RF tag, a near field communication (NFC)device, a bar code, a sensor, and the like. Medicine container storagenest 335 is able to communicate wirelessly with medicine containeridentification unit 385 and can both read and write information.Medicine container storage nest 335 is also able to communicate with thecontrol unit of the dispenser 100, and medicine container storage nest335 may have, for instance, memory 108.

Referring back to FIG. 3, medicine storage container 320, or originalmedicine container 390, either of which may have medicine provided fromfor instance a pharmacy, may be loaded into dispenser 102 from medicinecontainer loading station 325, and medicine storage container 320 istransferred to its storage position by medicine container transfer unit330. Medicine storage container 320 may include medicine in the form ofa pill or a capsule, as examples, and a dose of medicine for a user mayinclude one or more of the pills or capsules. Medicine containertransfer unit 330 is illustrated as having carousel 310, but may insteadinclude a conveyor, a robot, or any device that can move medicinestorage container 320 from one position to another, and dischargemedicine from medicine storage container 320.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380. Medicine transfer unit 355 may have a linear moving surfacesuch as a walking beam, a conveyor, or a rotating surface such as arotating disc or other shape.

In operation, dispenser 102 moves, via carousel 310, medicine storagecontainer 320 to a loading point 312, and loading point 312 is proximatemedicine container transfer unit 345. Medicine container transfer unit345 engages with medicine storage container 320 by attaching thereto,and moving medicine storage container 320 to first medicine dischargepoint 350. Medicine storage container 320 is, in one example, a medicinestorage container which may have an amount of medicine that is in excessof a dose, or an amount of medicine that is desired to be distributedinto dispensed medicine container 365. Medicine container transfer unit345 turns medicine storage container 320 such that at least apredetermined amount of medicine spills or otherwise pours from medicinestorage container 320 onto medicine transfer unit 355. Carousel 310 mayrotate to move medicine transfer container 370 to second medicinedischarge point 380. When medicine transfer container 370 is positionedat medicine discharge point 380, and when medicine has been dischargedonto medicine transfer unit 355, medicine transfer unit 355 therebyconveys the discharged medicine from medicine transfer unit 355 intomedicine transfer container 370 until at least a second predeterminedamount of medicine is contained in medicine transfer container 370, asdetermined by weight determining device 395 and medicine containerstorage nest 335, which weigh and transmit weight information to forinstance a controller of dispenser 102. Other methods may be used todetermine amount of medicine is contained in medicine transfer container370, e.g. sensor, and image.

Medicine is transferred from medicine transfer unit 355 into medicinetransfer container 370, and a weight of the medicine is determined viaweight determining device 395. If the measured weight is less than agiven or desired dose, and if medicine is still on medicine transferunit 355 (i.e., has not been fully discharged), then medicine transferunit 355 further conveys more medicine into medicine transfer container370. On the other hand, if no medicine is on medicine transfer unit 355,then additional medicine is discharged to medicine transfer unit 355from medicine storage container 320. The process of discharging frommedicine storage container 320 to medicine transfer unit 355, and frommedicine transfer unit 355 to medicine transfer container 370 continuesuntil at least a dose of medicine is contained in medicine transfercontainer 370. That is, medicine transfer container 370 may include anexact or desired dose, or may include an amount of medicine that is inexcess of an exact dose.

If an exact dose is present in medicine transfer container 370, thendispenser 102 operates to convey medicine transfer container 370 tofirst medicine discharge point 350 via medicine container transfer unit345, any remaining medicine on medicine transfer unit 355 is dischargedback into medicine storage container 320 at second medicine dischargepoint 380, and the medicine in medicine transfer container 370 isdischarged into dispensed medicine container 365 that is positioned atsecond medicine discharge point 380.

On the other hand, in one example medicine transfer container 370 mayinclude an amount of medicine that is in excess of an exact dose. Insuch an example, medicine transfer container 370 is thereby conveyed tofirst medicine discharge point 350 and operations described above arerepeated. That is, medicine container transfer unit 345 dischargesmedicine from medicine transfer container 370 onto medicine transferunit 355, and medicine transfer container 375 is conveyed via carousel310 to second medicine discharge point 380. Medicine discharged frommedicine transfer container 370 to medicine transfer unit 355 is therebyconveyed to medicine transfer container 375 until at least the exactdose is present in medicine transfer container 375. And, again, ifmedicine transfer container 375 includes medicine equal to the dose,then the medicine in medicine transfer container 375 is discharged intodispensed medicine container 365, and any excess medicine on medicinetransfer unit 355 is returned to medicine storage container 320.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395. Thefeedback may also be provided in other forms, e.g. pill numbersdetermined by sensors, images or other check stations. Dispenser 102 iscaused to operate using such feedback to ensure that a correct dose isprovided in dispensed medicine container 365.

Referring now to FIG. 5, a schematic diagram of a system 500 of theinteraction between system 100, users 502-508, and databases 510-516.The users may include, but are not limited to, family member(s) 502,caregiver(s) 504, doctor(s) 506, and other(s) 508. The databases mayinclude, but are not limited to, cloud storage 510, hospital(s) 512,e.g., hospital servers or databases, remote server(s) 514, which mayinclude, but is not limited to, server 104, National Drug Code (NDC)database(s), and the like, and pharmacy(ies) 516. Information may beretrieved from, stored on, and/or accessed by the databases 510-516.

System 500 may include system 100, including a hardware structure of thedispensing unit 102. The hardware structure may include control unit orprocessor 106, memory 108, display 112, I/O device(s) 114, communicationdevice 116, and a power device 128. The processor 106 may be any type ofgeneral or specific purpose processor, including, but not limited to, acontroller. The power device 128 may be configured to either AC and orDC power, such as a lithium ion battery system. If the system 100 usesrechargeable batteries, the power source may monitor the power remainingand give reminder signals to recharge batteries once the batteries arelow. The memory 108 may store medication information includingprescription information, medicine container identification informationand patient's medical history information. The I/O device 114 mayinclude, but is not limited to, an RF reader, one or more cameras,scanner, barcode reader (e.g., 1d or 2d), one or more lights, one ormore sensors, one or more speakers, one or more buttons, keyboard,mouse, touch screen, microphone, one or more scales, or a combinationthereof.

The communication device 116 may communicatively connect the devices ofsystem 100 or 500, for example, using any type of wired or wirelessnetwork connection. The communication device 116 may include a singletransceiver or a combination of transmitters and receivers. The wirelessnetwork may utilize a wireless transmitter (e.g., cellular,radiofrequency (RF) or Wi-Fi transmitter) of the communication device116. The communication device 116 may be configured to communicativelyconnect the dispensing unit 102 with any or all of assemblies 140-170,server 104, and network 118. The communication device 116 may be usedfor digital or analog signal transfers. For instance, the communicationdevice 116 may include any antenna technology including cellular, V2Vcommunication, radiofrequency (RF), near field communication (NFC),Bluetooth®, Wi-Fi, or the like. The communication device 116 may includeany technology that implements a wireless exchange of occupantinformation by converting propagating electromagnetic waves to and fromconducted electrical signals. The communication device 116 may includeany technology that is used to exchange medication informationwirelessly using radio waves over a radio range or network that enablescommunication.

Any portion of system 100 or 500, e.g., the dispensing unit 102,assemblies 140-170, server 104, and databases 510-516, may include acomputing system and/or device that includes a processor 106, memory 108and connection 124. Computing systems and/or devices generally includecomputer-executable instructions, where the instructions may beexecutable by one or more devices such as those listed below.Computer-executable instructions may be compiled or interpreted fromcomputer programs created using a variety of programming languagesand/or technologies, including, without limitation, and either alone orin combination, Java™, C, C++, Visual Basic, Java Script, Perl, SQL,PL/SQL, Shell Scripts, etc. The system 100, e.g., assemblies 102-170 andserver 104 may take many different forms and include multiple and/oralternate components and facilities, as illustrated in the Figuresfurther described below. While exemplary systems, devices, andsub-devices are shown in the Figures, the exemplary componentsillustrated in the Figures are not intended to be limiting. Indeed,additional or alternative components and/or implementations may be used,and thus the above communication operation examples should not beconstrued as limiting.

In general, computing systems and/or devices (e.g., dispensing unit,assemblies 140-170, server 104, databases 512-516) may employ any of anumber of computer operating systems, including, but by no means limitedto, versions and/or varieties of the Microsoft Windows® operatingsystem, the Unix operating system (e.g., the Solaris® operating systemdistributed by Oracle Corporation of Redwood Shores, Calif.), the AIXUNIX operating system distributed by International Business Machines ofArmonk, N.Y., the Linux operating system, the Mac OS X and iOS operatingsystems distributed by Apple Inc. of Cupertino, Calif., the BlackBerryOS distributed by Research In Motion of Waterloo, Canada, and theAndroid operating system developed by the Open Handset Alliance.Examples of computing systems and/or devices such as device 103 andserver 104 may include, without limitation, mobile devices, cellularphones, smart-phones, super-phones, tablet computers, next generationportable devices, mobile printers, handheld computers, notebooks,laptops, secure voice communication equipment, networking hardware,computer workstations, or any other computing system and/or device.

Further, processor 106 may include a microprocessor. Processor 106 mayreceive instructions from memories such as memory 108, database 122, orcloud storage 510 and execute the instructions, thereby performing oneor more operations or processes including those described herein. Suchinstructions and other medication information may be stored andtransmitted using a variety of computer-readable mediums (e.g., memory108, database 122, or cloud storage 510). Processors such as processor106 may include any computer hardware or combination of computerhardware that is configured to accomplish the purpose of the devices,systems, and processes described herein. For example, the processor 106may be any one of, but not limited to single, dual, triple, or quad coremicroprocessors (on one single chip), graphics processing devices,visual processing devices, and virtual processors.

Memories such as memory 108 or database 122 may include, in general, anycomputer-readable medium (also referred to as a processor-readablemedium) that may include any non-transitory (e.g., tangible) medium thatparticipates in providing medication information or instructions thatmay be read by a computer (e.g., by the processors 106 of the assemblies102-170 and server 104). Such a medium may take many forms, including,but not limited to, non-volatile media and volatile media. Non-volatilemedia may include, for example, optical or magnetic disks and otherpersistent memory. Volatile media may include, for example, dynamicrandom access memory (DRAM), which typically constitutes a main memory.Such instructions may be transmitted by one or more transmission media,including radio waves, metal wire, fiber optics, and the like, includingthe wires that comprise a system bus coupled to a processor of acomputer. Common forms of computer-readable media include, for example,a floppy disk, a flexible disk, hard disk, magnetic tape, any othermagnetic medium, a CD-ROM, DVD, any other optical medium, punch cards,paper tape, any other physical medium with patterns of holes, a RAM, aPROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, orany other medium from which a computer can read.

Further, databases, data repositories or other medication informationstores (e.g., memory 108, database 122, or cloud storage 510) describedherein may generally include various kinds of mechanisms for storing,providing, accessing, and retrieving various kinds of medicationinformation, including a hierarchical database, a set of files in a filesystem, an application database in a proprietary format, a relationaldatabase management system (RDBMS), etc. Each such medicationinformation store may generally be included within (e.g., memory 108) orexternal (e.g., database 122 or cloud storage 510) to a computing systemand/or device (e.g., dispensing unit 102, assemblies 140-170, server104, or databases 512-516) employing a computer operating system such asone of those mentioned above, and/or accessed via a network (e.g.,system 100 or 500, or network 118) or connection in any one or more of avariety of manners. A file system may be accessible from a computeroperating system, and may include files stored in various formats. AnRDBMS generally employs the Structured Query Language (SQL) in additionto a language for creating, storing, editing, and executing storedprocedures, such as the PL/SQL language mentioned above. Memory 108 anddatabase 122 may be connected to or part of any portion of system 100.

Referring now to FIG. 6, a flow diagram of an exemplary process 600 forsetting up the system 100 is illustrated. Process 600 may includeoperations that may be part of program 110 stored on memory 108, and/orexecuted by processor 106. Process 600 may take many different forms andinclude multiple and/or alternate steps. While an exemplary process isshown, the exemplary steps illustrated are not intended to be limiting.Indeed, additional or alternative steps and/or implementations may beused.

Process 600 may begin at block 602 at which a medicine containeridentification unit 385 is added to an original medicine container 390.The combination of the medicine container identification unit 385 andthe medicine container 390 collectively form the medicine storagecontainer 320. Alternatively, process 600 may implement the originalmedicine container 390 without the medicine container identificationunit 385.

At block 604, prescription information associated with the patient maybe inputted into the device 100. The information may include, but is notlimited to, the patient's name, name of the drug, strength of the drug,direction for use, including, but not limited to, a schedule and/orquantity to take, quantity in the medicine container 390, and the like.The information may be inputted via different methods and/ortechnologies, as illustrated in FIG. 7 and described below.

At block 606, the processor 106 may prompt the user to place themedicine storage container 320 into the loading station 325. The promptmay be verbal, for example, via speaker(s) of the I/O device(s) 114,and/or visual, for example, via the display 112. The user may then placethe medicine storage container 320 into the loading station 325.

At block 608, the loading station door 204 may close. This may be doneautomatically, for example, but not intended to be limiting, after a setamount of time has passed after the prompt to place the medicine storagecontainer 320 into the loading station 325, or upon sensing that themedicine storage container 320 has been placed into the loading station325. Alternatively, the loading station door 204 may be manually closedby the user, for example, but not intended to be limiting, sliding thedoor closed or pressing a button designated for closing and/or openingthe door.

At block 610, medicine container information may be inputted. Theinformation may include, but is not limited to, the patient's name, nameof the drug, strength of the drug, direction for use, including, but notlimited to, a schedule and/or quantity to take, quantity in the medicinecontainer 390, and NDC information for the medicine/drug. Theinformation may be inputted via different methods and/or technologies,as illustrated in FIG. 8 and described below.

At block 612, the processor 106 may determine if the prescription andthe medicine storage container 320 match, for example, by comparing theprescription information and the medicine container information. If theydo not match, process 600 may proceed to block 614 at which theprocessor 106 may prompt the user to check if the medicine storagecontainer 320 is correct.

If the medicine storage container 320 is correct, process 600 mayproceed to block 616 at which the processor 106 may provide a warningmessage, verbally and/or visually, for example, of the discrepancybetween the prescription and the medicine storage container 320, afterwhich process 600 may end.

If the medicine storage container 320 is not correct, process 600 mayproceed to block 618 at which the processor 106 may prompt the user totake the correct medicine storage container 320, which includes thecorrect medicine container 390, and place it into the loading station325 after removing the incorrect medicine storage container 320. Process600 may then proceed back to block 608 at which the loading station door204 may be closed. Blocks 610 and 612 may be repeated.

Referring back to block 612, if the prescription and the medicinestorage container 320 do match, then process 600 may proceed to block620 at which a first medicine container transfer unit 330 of thedispensing unit 102 may transfer the medicine storage container 320 to astorage location.

At block 622, the processor 106 may remember the containeridentification and the storage location of the medicine storagecontainer 320, for example, by storing the information in the memory108.

At block 624, the processor 106 may determine if all medicine storagecontainers 320 and/or medicine containers 390 for the prescription arefinished. This may be determined from the prescription informationobtained at block 604. In addition or alternatively, the processor 106may prompt the user, verbally and/or visually, if all medicine storagecontainers 320 for the prescription are finished, to which the user mayrespond tactilely and/or verbally. If the answer is no, process 600 mayproceed back to 606 at which the processor 106 may prompt the user toplace the next medicine storage container 320 into the loading station325, after which the subsequent blocks of process 600 may be repeated.

If all the containers are finished for the prescription, process 600 mayproceed to block 626 at which the processor 106 may prompt the user,verbally and/or visually, if there are any more prescriptions, to whichthe user may respond tactilely and/or verbally. If there are moreprescriptions, process 600 may proceed back to block 604 at which theprescription information for the new prescription may be inputted intothe device 100, after which the subsequent blocks of process 600 may berepeated.

If there are no more prescriptions, process 600 may proceed to block 628at which the control unit processor may update the prescription(s) intothe patient's account, which, again, may be stored locally in the memory108 and/or remotely at any one of the databases 510-516.

At block 630, the processor 106 may retrieve weight for each pill orcapsule from databases 510-516. Alternatively processor may rundispenser unit to calculate the weight. The processor 106 may also checkthe weight of the medicine in a container to verify the medicine in thecontainer is correct.

At block 632, the processor 106 may run cleaning logic to clean surfacescontact with medicine according predetermined schedules or as required.

At block 634, the processor 106 may run calibration and verificationlogic to calibrate or verify weight detecting devices according topredetermined schedules as required.

At block 636, the processor 106 may run vision system logic to takeimages of a medicine and compare them to the image retrieve fromdatabases 510-516 to verify medicine in the container is correct.

At blocks 638-642, any one of the assemblies 140, 150 a-d, 160, and 170and the dispensing unit 102 may now operate according to any one of theprocesses described in U.S. patent application Ser. Nos. 15/613,675 and15/613,852.

At block 644, the processor 106 runs dispenser logic as describedherein. After block 644, the process may repeat or end.

Referring now to FIG. 7, a flow diagram of an exemplary process 700 forinputting prescription information is illustrated. Process 700 mayinclude operations that may be part of program 110, stored on memory108, and/or executed by processor 106, Process 700 may take manydifferent forms and include multiple and/or alternate steps. While anexemplary process is shown, the exemplary steps illustrated are notintended to be limiting. Indeed, additional or alternative steps and/orimplementations may be used.

Process 700 may begin at block 702 at which the user may choose at leastone input mode 704-714 based at least on the I/O device(s) 114incorporated in the dispensing unit 102.

Input mode 704 may include obtaining the prescription information viaOCR, for example, but not intended to be limiting, where the I/Odevice(s) 114 includes a machine vision system (e.g., at least onecamera) and/or a scanner. As merely one exemplary approach, at block 704a, the processor 106 may prompt a user to present the prescription,which may include the prescription information, to the camera(s) orscanner. The prompt may include any auditory and/or visual indicator(s),for example, on the display 112, the indicator(s) including, but notlimited to, specific text instructions to present the prescription, textthat the camera(s) or scanner are ready, lights, sounds, and the like.At block 704 b, the user may present the prescription to the camera(s)or scanner. This may include, but is not limited to, placing theprescription in front of or inside of the camera(s) or scanner, feedingthe prescription into the camera(s) or scanner, and the like. At block704 c, the camera(s) or scanner may take pictures of or scan theprescription, and the I/O device(s) 114 may read the text of the pictureor scanned image of the prescription via an OCR device. In addition oralternatively, the I/O device(s) 114 may transmit the picture(s) orscanned image to the processor 106, which may in turn read the text viaan OCR device.

Input mode 706 may include obtaining the prescription information from anetwork, either local or remote. At block 706 a, the user may log in toan account, which may be associated with the patient and may include theprescription information, via an input device of the I/O device(s) 114,including, but not limited to, a keyboard, a keypad, a touch screen, amicrophone, a fingerprint scanner, an eye scanner, a facial recognitioncamera, and the like. The patient log in information and/or theprescription regiment data may be stored locally on the memory 108and/or remotely, including, but not limited to, any one of the databases510-516. At block 706 b, the processor 106 may retrieve the prescriptioninformation from the account.

Input mode 708 may include obtaining the prescription information via abarcode reader or scanner of the I/O device(s) 114. At block 708 a, thebarcode reader/scanner may scan a barcode of the prescription.

Input mode 710 may include obtaining the prescription information via anRF reader of the I/O device(s) 114. At block 710 a, the RF reader mayread an RF tag of the prescription.

Input modes 712 and 714 may include obtaining the prescriptioninformation via direct input from the user, for example, tactilely orverbally. With respect to input mode 712, the user may input theprescription information via a keyboard of the I/O device(s) 114, whichmay be a standalone keyboard or a touch screen keyboard incorporated inthe display 112, as illustrated in block 712 a. With respect to inputmode 714, the user may read the prescription via a microphone of the I/Odevice(s) 114, as illustrated in block 714 a.

At block 716, the processor 106 may present the prescription informationback to the user verbally and/or visually. For example, the processor106 may read the prescription information via speaker(s) of the I/Odevice(s) 114 and/or display the prescription information on the display112. The user may then verify the information tactilely, for example,via a keyboard of the I/O device(s) 114, which, again, may be astandalone keyboard or a touch screen keyboard, and/or verbally, forexample, via a microphone of the I/O device(s) 114.

At block 718, the processor 106 may determine if the medicine is new forthe patient. This may be determined by prompting the user, which, again,may be verbally via speaker(s) of the I/O device(s) 114, or visually onthe display 112. In addition or alternatively, the processor 106 maycompare the name of the medicine with a list of prior and/or currentmedicines stored in the patient's account.

If the medicine is not new, process 700 may proceed to block 720 atwhich the processor 106 may determine if the schedule included with theprescription information is new. This, again, may be determined byprompting the user and/or comparing the schedule to an existing schedulestored in the patient's account. If the schedule is not new, process 700may end. If the schedule is new, process 700 may proceed to block 722 atwhich the processor 106 may warn the user of the schedule change, andblock 724 at which the user may acknowledge the change, after whichprocess 700 may end.

If the medicine is new, process 700 may proceed to blocks 726 and 728 atwhich the processor 106 may check whether the prescription informationis consistent with the NDC database(s) and/or the patient's records, anddetermine if there are any conflicts. If there are no conflicts, thenprocess 700 may end. If there are conflicts, process 700 may proceed toblocks 730 and 732 at which the processor 106 may provide a warningmessage, verbally and/or visually, and the user may acknowledge thewarning, tactilely or verbally, after which process 700 may repeat orend.

Referring now to FIG. 8, a flow diagram of an exemplary process 800 forinputting the medicine container information is illustrated. Process 800may include operations that may be part of program 110, stored on memory108, and/or executed by processor 106. Process 800 may take manydifferent forms and include multiple and/or alternate steps. While anexemplary process is shown, the exemplary steps illustrated are notintended to be limiting. Indeed, additional or alternative steps and/orimplementations may be used.

Process 800 may begin at block 802 at which the user may choose at leastone input mode 804-814 based at least on the I/O device(s) 114. Inputmodes 804-814 may be similar to input modes 704-714 described above.

Input mode 804 may include obtaining the medicine container informationvia OCR, for example, but not intended to be limiting, where the I/Odevice(s) 114 includes a machine vision system (e.g., at least onecamera) and/or a scanner, which may be the same or different from thecamera(s) or scanner used in input mode 704. At block 804 a, thecamera(s) or scanner may take pictures of or scan the medicine container390, e.g., a label on the medicine container 390. The I/O device(s) 114may then read the text of the picture or scanned image of the medicinestorage container 320 via an OCR device to retrieve the medicinecontainer information, including, but not limited to, the container ID.In addition or alternatively, the I/O device(s) 114 may transmit thepicture(s) or scanned image to the processor 106, which may in turn readthe text via an OCR device.

Input mode 806 may include obtaining the medicine container informationfrom a network, either local or remote. At block 806 a, the processor106 may retrieve an ID of the container. At block 806 b, the user maylog in to an account that may have access to certain databases thatinclude the medicine container information, and that may be storedlocally, for example, on the memory 108, and/or remotely, including, butnot limited to, any one of the databases 510-516. The log in informationmay be input by the user via an input device of the I/O device(s) 114,including, but not limited to, a keyboard, a keypad, a touch screen, amicrophone, a fingerprint scanner, an eye scanner, a facial recognitioncamera, and the like. After logging in, the processor 106 may thenretrieve the medicine container information from the database(s) onwhich it is stored.

Input mode 808 may include obtaining the medicine container informationvia a barcode reader or scanner of the I/O device(s) 114. At block 808a, the barcode reader/scanner may scan a barcode of the medicine storagecontainer 320 to retrieve the container information, including, but notlimited to, the container ID.

Input mode 810 may include obtaining the medicine container informationvia a RF reader of the I/O device(s) 114. At block 810 a, the RF readermay read an RF tag on the medicine storage container 320 to retrieve thecontainer information, including, but not limited to, the container ID.

Input modes 812 and 814 may include obtaining the medicine containerinformation, including, but not limited to, the container ID, via directinput from the user, for example, tactilely or verbally. With respect toinput mode 812, the user may input the medicine container informationvia a keyboard of the I/O device(s) 114, which may be a standalonekeyboard or a touch screen keyboard, as illustrated in block 812 a. Withrespect to input mode 814, the user may read the prescription via amicrophone of the I/O device(s) 114, as illustrated in block 814 a.

At block 816, the processor 106 may present the medicine containerinformation to the user verbally and/or visually for confirmation of itsaccuracy. For example, the processor 106 may read the medicine containerinformation via speaker(s) of the I/O device(s) 114 and/or the display112 may display the data. The user may then verify the informationtactilely, for example, via a keyboard of the I/O device(s) 114, which,again, may be a standalone keyboard or a touch screen keyboard, and/orverbally, for example, via a microphone of the I/O device(s) 114.

At block 818, the user may determine whether or not there are any errorsin the medicine container information. If there are no errors, process800 may proceed to block 820 at which the user may confirm the accuracyof the medicine container information verbally, for example, via amicrophone of the I/O device(s) 114 and/or tactilely, for example, via akeyboard and/or button(s). If there are any errors, process 800 mayproceed to blocks 822 and 824 at which the processor 106 may provide awarning message, verbally and/or visually, and the user may acknowledgethe warning, tactilely or verbally.

At block 826, the processor 106 may store the medicine containerinformation, for example, locally in the memory device 108, after whichprocess 800 may end.

At block 828, the processor 106 monitors presentation of the medicinecontainer. If it was removed from the unit, the system will give warningsignal.

After block 828, the process may repeat or end.

Referring now to FIGS. 9A and 9B, a flow diagram of an exemplary process900 is illustrated. Process 900 may be for operating the dispensing unit102, e.g., moving a dose (or other predetermined amount) of medicine toa dispensed medicine container. Process 900 may include operations thatmay be part of program 110, stored on memory 108 or database 122, and/orexecuted by processor 106. Process 900 may take many different forms andinclude multiple and/or alternate steps. While an exemplary process isshown, the exemplary steps illustrated are not intended to be limiting.Indeed, additional or alternative steps and/or implementations may beused. In addition, process 900 may be applicable, in whole or in part,to each of processes 1000, 1200, 1400, 1600, 1800, 2000, and 2200 andthe specific embodiments of the dispensing unit 102 incorporatedtherein, as described in more detail hereinafter.

At block 902, processor 106, e.g., by way of medicine container transferunit 330, may move the medicine storage container 320 from an initialposition, e.g., the storage position, to the medicine container loadingpoint 340, which may be stored on and received from memory 108 ordatabase 122. The moving of the medicine storage container 320 may beperformed by the first medicine container transfer unit 330, and maygenerally be in a circumferential direction, as illustrated in FIG. 3.However, it should be appreciated that the medicine storage container320 may be moved to the loading point 340 in any linear or non-lineardirection.

At block 904, the processor 106 may move, e.g., by way of the medicinecontainer transfer unit 345, the medicine storage container 320 from theloading point 340 to a first discharge point 350, which may be stored onand received from memory 108 or database 122.

At block 906, the processor 106 may move, e.g., by way of the medicinecontainer transfer unit 330, a first medicine transfer container, whichmay be either medicine transfer container 370 or 375 from an initialposition to a second discharge point 380, which, as explained above, maybe located at an end of the medicine transfer unit 355 to receive themedicine. The moving of the first medicine transfer container 370, 375generally may be in a circumferential direction, as illustrated in FIG.3. However, it should be appreciated that the first medicine transfercontainer 370, 375 may be moved to the second discharge point 380 in alinear direction.

At block 908, the processor 106 may discharge, e.g., by way of themedicine container transfer unit 345, at least a first predeterminedamount of medicine from the medicine storage container 320 onto themedicine transfer unit 355. The predetermined amount may change duringthe dispensing process. It should be appreciated that the processor 106may discharge the medicine from the medicine storage container 320 viaany known mechanism or device, which may rotate, tilt, or otherwise movethe medicine storage container 320.

At block 910, the processor 106 may discharge, e.g., by way of themedicine transfer unit 355, at least a second predetermined amount ofthe medicine on the medicine transfer unit 355 therefrom into themedicine transfer container 370, 375. The second predetermined amountmay or may not be the same as the first predetermined amount, and maychange during the dispensing process.

At block 912, the dispensing unit 102, by way of the processor 106 andfeedback from check stations, may determine if the medicine in the firstmedicine transfer container 370, 375 is equal to the required dosage, asdetermined and stored in the memory 108 in process 600. If the medicinedoes equal the required dosage, then process 900 may proceed to blocks914 and 916. If not, then process 900 may proceed to block 918.

At block 914, the processor 106 may move, e.g., by way of the medicinetransfer unit 355, the medicine in the first medicine transfer container370, 375, which is in the required dosage amount, to the dispensedmedicine container 365 at the second discharge point 380.

At block 916, the processor 106 may move, e.g., via the medicinetransfer unit 355, all the remaining medicine on the medicine transferunit 355 and/or the first medicine transfer container 370, 375 back tothe medicine storage container 320 by various rearranging of thedispensed medicine container 365 and medicine storage container 320 fromand to the second medicine discharge point 380. Process 900 may endafter block 916.

At block 918, the dispensing unit 102, for example, the processor 106,may determine if the medicine on the medicine transfer unit 355 is equalto the required dosage. If the medicine does equal the required dosage,then process 900 may proceed to blocks 914 and 916 described above. Ifnot, then process 900 may proceed to block 920.

At block 920, the dispensing unit 102, for example, the processor 106,may determine if the medicine in the first medicine transfer container370, 375 is less than the required dosage. If it is less, then process900 may proceed to block 922 at which the dispensing unit (e.g., theprocessor 106) may determine if there is still medicine on the medicinetransfer unit 355. If there is not, process 900 may go back to block908. If there is, process 900 may go back to block 910.

If the medicine in the first medicine transfer container 370, 375 is notless than the required dosage, as may be determined at block 920,process 900 may proceed to blocks 924 and 926 at which the processor 106may move the medicine storage container 320 to the second dischargepoint 380, and the first medicine transfer container 370, 375 to thefirst discharge point 350. Blocks 924 and 926 may occur simultaneouslyor one after the other.

At block 928, the processor 106 may discharge any remaining medicine onthe medicine transfer unit 355 into the medicine storage container 320.

At block 930, the processor 106 may move a second medicine transfercontainer, which may be the other of medicine transfer containers 370and 375, to the second discharge point 380.

After block 930, process 900 may go back to block 908, where the firstmedicine transfer container 370, 375 may act as the medicine storagecontainer 320, and the second medicine transfer container 370, 375 mayact as the first medicine transfer container 370, 375. Accordingly,medicine may be discharged from the first medicine transfer container370, 375 to the second medicine transfer container 370, 375, andmedicine storage container 320.

Process 900 may be iterated until the medicine in the dispensed medicinecontainer 365 equals the required dosage, as described below.

In general, the processes herein (e.g., process 900) may involvedifferent combinations of medicine in one or two units. The combinationsmay include, but are not limited to, the first medicine transfercontainer 370, 375 alone, the second medicine transfer container 370,375 alone, the medicine transfer unit 355 alone, the first and secondmedicine transfer containers 370, 375, the first medicine transfercontainer 370, 375 and the medicine transfer unit 355, and the secondmedicine transfer container 370,375 and the medicine transfer unit 355.Those combinations may change for every iteration. The process 900determines the most optimal way to dispense for every iteration.

As described in more detail with respect to processes 1000, 1200, 1400,1600, 1800, 2000, and 2200, the processor 106 may communicate with,i.e., send commands to, receive data from, and the like, to variouscomponents of the dispensing unit 102 and/or system 500 to perform thedifferent steps of process 900. In addition or alternatively, thevarious components may communicate directly with each other.

Referring now to FIG. 10, a flow diagram of another exemplary process1000 for operating the dispensing unit 102 is illustrated, which mayincorporate the sub-assembly 300. Process 1000 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 1000 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used.

Process 1000 may begin at step 1002 at which the processor 106 may runcalibration and verification logic with calibration and verificationdevice 382 to calibrate or verify weight detecting devices.

At block 1004, the medicine container transfer unit 330 (MCTU) maytransfer the medicine transfer container 375 (MTC1) to second dischargepoint 380 (MDP2) and a medicine storage container 320 (MSC) from itsstorage location to first discharge point 350 (MDP1).

At block 1006, the medicine container transfer unit 330 (MCTU) maydischarge medicine from the medicine storage container 320 (MSC) ontothe medicine transfer unit 355 (MTU). This may be achieved by rotatingthe medicine storage container 320 (MSC), which may be steady orintermittent. It should be appreciated that other ways to discharge themedicine from the medicine storage container 320 (MSC) onto the medicinetransfer unit 355 (MTU) are contemplated.

At block 1008, the medicine container transfer unit 330 (MCTU) may stopdischarging when it receives a signal from the medicine transfer unit355 (MTU) or other medicine detecting devices that detects at least apredefined amount of medicine discharged on the medicine transfer unit355 (MTU), which may or may not be the required dosage. For example, themedicine transfer unit 355 (MTU) may include one or more sensors thatdetect weight, area, volume, or any other characteristic by which anamount of medicine on the medicine transfer unit 355 (MTU) may bedetermined. The medicine transfer unit 355 (MTU) may then communicate,e.g., send a signal, directly to the medicine container transfer unit330 (MCTU) to stop discharging, or indirectly by sending a signal to theprocessor 106 that the predefined amount of medicine has been detected,the processor 106 in turn commanding the medicine container transferunit 330 (MCTU) to stop discharging.

At block 1010, the medicine transfer unit 355 (MTU) may then begindischarging the medicine on it into the medicine transfer container 375(MTC1) at a second discharge point 380 (MDP2), which may be, but is notlimited to, at an end of the medicine transfer unit 355 (MTU).

At block 1012, the medicine transfer unit 355 (MTU) may stop dischargingthe medicine when the medicine in the medicine transfer container 375(MTC1) equal or exceeds a predefined quantity (which may be differentfrom the amount in the block 1008).

At block 1014, the processor 106 may determine if the medicine insidethe first medicine transfer container 375 (MTC1) is less than therequired dosage, In one exemplary approach, this may be determined bymeasuring the weight of the medicine in the first medicine transfercontainer 375 (MTC1) by weight checking station 360 and/or by the scale395 on which the first medicine transfer container 375 (MTC1) may bedisposed. The weight checking device 395 and/or weight checking station360 may then transmit data representing the measured weight to theprocessor 106, which may then compare the measured weight with a weightcorresponding to the medicine in the required dosage, which may bestored locally on the memory 108 and/or remotely at any one of thedatabases 510-516.

If the medicine inside the first medicine transfer container is not lessthan the required dosage, then process 1000 may proceed to block 1016.If it is less, then process 1000 may repeat blocks 1006 to 1012 untilthe amount of medicine inside the first medicine transfer container 375(MTC1) is not less than the required dosage. Then process 1000 mayproceed to block 1016.

At block 1016, the medicine container transfer unit 330 (MCTU) maytransfer the medicine storage container 320 (MSC) to the second medicinedischarge point 380.

At block 1018, the medicine transfer unit 355 (MTU) may discharge theremaining medicine on it back into the medicine storage container 320(MSC).

At block 1020, the medicine container transfer unit 330 (MCTU) may movethe first medicine transfer container 375 (MTC1) to the first medicinedischarge point 350 (MDP1). If the medicine in the first medicinetransfer container 375 (MTC1) is equal to the required dosage, process1000 may proceed to block 1022. If the medicine in the first medicinetransfer container 375 (MTC1) is greater than the required dosage,process 1000 may proceed to block 1024.

At block 1022, the medicine container transfer unit 330 (MCTU) maytransfer the dispensed medicine container 365 (DMC) to the secondmedicine discharge point 380 (MDP2). The medicine container transferunit 330 (MCTU) may then transfer all the medicine in the first medicinetransfer container 375 (MTC1) onto the medicine transfer unit 355 (MTU),which, in turn, may then transfer the medicine into the dispensedmedicine container 365 (DMC). Process 1000 may end after this step.

At block 1024, the medicine container transfer unit 330 (MCTU) maytransfer the second medicine transfer container 370 (MTC2), to thesecond medicine discharge point 380 (MDP2). The medicine containertransfer unit 330 (MCTU) may then discharge medicine from the firstmedicine transfer container 375 (MTC1) onto the medicine transfer unit355 (MTU), which, in turn, may begin transferring medicine into thesecond medicine transfer container 370 (MTC2). The processor 106 maythen determine if the medicine on the medicine transfer unit 355 (MTU)is equal to the required dosage. If it is equal, process 1000 mayproceed to block 1026. The processor 106 may also determine if themedicine inside the first medicine transfer container 375 (MTC1), thesecond medicine transfer container 370 (MTC2), or the combination of themedicine transfer containers 370, 375 is equal to or greater than therequired dosage. If it is equal, process 1000 may proceed to block 1028.If it is greater, process 1000 may proceed to block 1030.

At block 1026, if the medicine on the medicine transfer unit 355 (MTU)is equal to the required dosage, the medicine transfer unit 355 (MTU)may stop discharging medicine into the second medicine transfercontainer 370 (MTC2) and may discharge all medicine on the medicinetransfer unit 355 (MTU) into the dispensed medicine container 365 (DMC).The remaining medicine inside the medicine transfer containers 370(MTC2) and 375 (MTC1) may be discharged back into the medicine storagecontainer 320 (MSC). Process 1000 may end after this step.

At block 1028, if medicine in the first medicine transfer container 375(MTC1), the second medicine transfer container 370 (MTC2), orcombination of both that equals the required dosage, the required dosagemay be discharged into the dispensed medicine container 365 (DMC). Theremaining amount of medicine, which may be in the first medicinetransfer container 375 (MTC1), the second medicine transfer 370 (MTC2)and/or on the medicine transfer unit 355 (MTU), may be discharged backinto the medicine storage container 320 (MSC). Both medicine transfercontainers 370, 375 should be empty after this step. Process 1000 mayend after this step.

At block 1030, if the medicine inside MTC 370 (MTC2) is more than therequired dosage, the medicine container transfer unit 330 (MCTU)transfers the medicine transfer container 370 (MTC2) to the firstmedicine discharging point 350 (MDP1) and the medicine transfercontainer 375 (MTC1) to the second medicine discharging point 380 (MDP2)and discharging all remaining medicine on the medicine transfer unit 355(MTU) into the medicine storage container 320 (MSC). Repeat blocks 1006to 1030 with the medicine transfer containers 375 370 until requireddosage is dispensed into the dispensed medicine container 365 and allextra medicine is returned to the medicine storage container 320.

Process 1000 may be repeated for the next medicine when required.

In general, process 1000 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 1000, and to decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 370, 375, and the dispensed medicine container 365 based onprocess 1000.

FIG. 11A illustrates an exemplary sub-assembly 1100 of the disclosedsystem. FIG. 11B illustrates the exemplary system of FIG. 11A duringoperation. FIG. 11C illustrates a top view of the exemplary system ofFIGS. 11A and 11B. FIG. 11A illustrates the disclosed dispenser having aconveyor 1105, a robot 1120, and carousel 310. In this example medicinecontainer transfer unit 330 includes carousel 310, medicine containertransfer unit 345 includes robot 1120 having an end of arm tool 1125,medicine transfer unit 355 having a conveyor 1105 and sensors 1110 and1115. FIG. 11B is a view of sub-assembly as shown in FIG. 11A, showingmedicine storage container 320 transferred to first medicine dischargepoint 350 by medicine container transfer unit 345 to discharge medicinefrom medicine storage container 320 to conveyor 1105. Sensors 1110 and1115 monitor medicine positioned on medicine transfer unit 355 and morespecifically on conveyor 1105.

FIG. 11A illustrates an exemplary sub-assembly 1100 illustrating thedisclosed system or dispenser. Sub-assembly 1100 is a view of insideelements of dispenser 102 and includes carousel 310. Sub-assembly 1100includes loading station or medicine container loading station 325,first medicine container transfer unit 330, and medicine containerstorage nest 335. Medicine container loading point 340 is proximatesecond medicine container transfer unit 345. First medicine dischargepoint 350 includes, in the illustrated example, medicine transfer unit355 that may include conveyer 1105 for transporting or otherwiseconveying medicine from medicine container transfer unit 345 to secondmedicine discharge point 380, and may include sensors 1110 and 1115.Sub-assembly 1100 includes weight checking station 360, dispensedmedicine container 365, a calibration and verification device 382 toautomatically calibrate weight detecting devices, and medicine transfercontainers 370 and 375. Medicine storage container 320 is positioned oncarousel 310.

Referring to FIGS. 11A-C, FIG. 11A is an illustration of medicinestorage container 320 as positioned proximate medicine containertransfer unit 345, and FIG. 11B the exemplary system of FIG. 11A duringoperation. Medicine storage container 320 may include original medicinecontainer 390, medicine container identification unit 385, weightdetecting device 395, and medicine container storage nest 335. Weightdetecting device 395 and medicine container storage nest 335 may beintegrated together. Weight detecting device 395 and medicine containerstorage nest 335 may also be part of carousel 310. Weight detectingdevice 395 may be a scale, a load cell, or other device for measuringweight, according to the disclosure. Weight detecting device 395 andmedicine container storage nest 335 are positioned about carousel 310 ateach of the illustrated locations. Medicine container identificationunit 385 may include identification information particular to a givenmedicine, and may also identify an amount of medicine that mayconstitute a single patient dose particular to a given user of dispenser102.

Referring still to FIG. 11A, medicine storage container 320 may beloaded into dispenser 102 from medicine container loading station 325,and medicine storage container 320 is transferred to its storageposition by medicine container transfer unit 330. Medicine storagecontainer 320 may include medicine in the form of a pill or a capsule,as examples, and a dose of medicine for a user may include one or moreof the pills or capsules. Medicine container transfer unit 330 isillustrated as having carousel 310, but may instead include a conveyor,a robot, or any device that can move medicine storage container 320 fromone position to another, and discharge medicine from medicine storagecontainer 320.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380. Medicine transfer unit 355 may have a linear moving surfacesuch as a walking beam, a conveyor, or a rotating surface such as arotating disc or other shape.

In operation, as shown in FIGS. 11A and 11B, dispenser 102 moves, viacarousel 310, medicine storage container 320 to loading point 312, andloading point 312 is proximate medicine container transfer unit 345.Medicine container transfer unit 345 engages with medicine storagecontainer 320 by attaching thereto, and moving medicine storagecontainer 320 to first medicine discharge point 350. Medicine storagecontainer 320 is, in one example, a medicine storage container which mayhave an amount of medicine that is in excess of a dose, or an amount ofmedicine that is desired to be distributed into dispensed medicinecontainer 365. Medicine container transfer unit 345 turns medicinestorage container 320 such that at least a predetermined amount ofmedicine spills or otherwise pours from medicine storage container 320onto medicine transfer unit 355, as determined by medicine detectingdevice. Carousel 310 rotates to move medicine storage container 375 tosecond medicine discharge point 380. When medicine transfer container375 is positioned at medicine discharge point 380, and when medicine hasbeen discharged onto medicine transfer unit 355, medicine transfer unit355 thereby conveys the discharged medicine from medicine transfer unit355 into medicine transfer container 375 until at least a secondpredetermined amount of medicine is contained in medicine transfercontainer 375, as determined by weight detecting device, which weigh andtransmit weight information to for instance a controller of dispenser102.

Medicine transfer unit 355 includes conveyor 1105, and sensors 1110 and1115, which monitor medicine positioned on medicine transfer unit 355and on conveyor 1105. Sensors 1110, 1115 may be optical sensors that arecoupled, electrically or optically as examples, to processor 106. Assuch, processor 106 monitors medicine positioned on medicine transferunit 355 via sensors 1110, 1115.

FIG. 11C illustrates a top view of the exemplary system of FIGS. 11A and11B, and shows medicine storage container 320 turned such that at leasta predetermined amount of medicine spills or otherwise pours frommedicine storage container 320 onto medicine transfer unit 355. Sensors1110 and 1115 detect the presence of pills or capsules 1135 as they passthereby via medicine transfer unit 355 to second medicine dischargepoint 380.

Medicine is transferred from medicine transfer unit 355 into medicinetransfer container 375, and a weight of the medicine is determined viaweight detecting device. If the measured weight is less than a given ordesired dose, and if medicine is still on medicine transfer unit 355(i.e., has not been fully discharged), then medicine transfer unit 355further conveys more medicine into medicine transfer container 375. Onthe other hand, if no medicine is on medicine transfer unit 355, thenadditional medicine is discharged to medicine transfer unit 355 frommedicine storage container 320. The process of discharging from medicinestorage container 320 to medicine transfer unit 355, and from medicinetransfer unit 355 to medicine transfer container 375 continues until atleast a dose of medicine is contained in medicine transfer container375. That is, medicine transfer container 375 may include an exact ordesired dose, or may include an amount of medicine that is in excess ofan exact dose.

If an exact dose is present in medicine transfer container 375, thendispenser 102 operates to convey medicine transfer container 375 tofirst medicine discharge point 350 via medicine container transfer unit345, any remaining medicine on medicine transfer unit 355 is dischargedback into medicine storage container 320 at second medicine dischargepoint 380, and the medicine in medicine transfer container 375 isdischarged into dispensed medicine container 365 that is positioned atsecond medicine discharge point 380.

On the other hand, in one example medicine transfer container 375 mayinclude an amount of medicine that is in excess of an exact dose. Insuch an example, medicine transfer container 375 is thereby conveyed tofirst medicine discharge point 350 and operations described above arerepeated with medicine transfer container 375 and/or medicine transfercontainer 370. That is, medicine container transfer unit 345 dischargesmedicine from medicine transfer container 375 onto medicine transferunit 355, and medicine transfer container 375 (or 370) is conveyed viacarousel 310 to second medicine discharge point 380. Medicine dischargedfrom medicine transfer container 375 to medicine transfer unit 355 isthereby conveyed to medicine transfer container 375 (or 370) until atleast the exact dose is present in medicine transfer container 375 (or370). And, again, if medicine transfer container 375 (or 370) includesmedicine equal to the dose, then the medicine in medicine transfercontainer 375 (or 370) is discharged into dispensed medicine container365, and any excess medicine on medicine transfer unit 355 is returnedto medicine storage container 320.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395.Dispenser 102 is caused to operate using such feedback to ensure that acorrect dose is provided in dispensed medicine container 365.

Referring now to FIG. 12, a flow diagram of another exemplary process1200 for operating the dispensing unit 102, which may incorporate thesub-assembly 1100, is illustrated. Process 1200 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 1200 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 1200, the first medicine containertransfer unit 330 is referred to as the carousel, and the secondmedicine container transfer unit 345 is referred to as the robot.However, it should be appreciated that any medicine container transferunit 330, 345 for performing the respective step(s) is contemplated, andthat the use of the terms carousel and robot are not intended to belimiting.

Process 1200 may begin at block 1202 at which the carousel 310 maytransfer a medicine storage container 320 to the loading point 340 ofrobot 345.

At block 1204, robot 345 may transfer the medicine storage container 320to a first medicine discharge point 350 above the conveyor 1105.

At block 1206, robot 345 may rotate the medicine storage container 320in a controlled manner to pour medicine from the medicine storagecontainer 320 onto the conveyor 1105, which may be stationary or moving.

At block 1208, at least one sensor 1110 may detect medicine dischargedon the conveyor 1105.

At block 1210, robot 345 may stop pouring medicine storage container 320when medicine on the conveyor 1105 is equal to or greater than apredefined quantity. This may be determined based on feedback fromsensor 1110 or other means. Robot 345 may then return the medicinestorage container 320 to carousel 310.

At block 1212, the carousel 310 may transfer a medicine transfercontainer 375, to the second medicine discharge point 380.

At block 1214, the conveyor 1105 may move to discharge medicine from theconveyor 1105 into the medicine transfer container 375.

At block 1216, a sensor 1115 and/or scale 395 under the medicinetransfer container 375 may detect a quantity of medicine discharged intothe medicine transfer container 375.

At block 1218, the conveyor 1105 is stopped based on feedback from thesensor 1115 and/or scale 395 that the quantity of medicine inside themedicine transfer container 375 is equal to or greater than the requireddosage, or the medicine left on the conveyor 1105 is equal to therequired dosage.

At block 1220, the processor 106 may determine if the medicine on theconveyor 1105 equals the required dosage. If so, carousel 310 maytransfer the dispensed medicine container 365 to the second medicinedischarge point 380, and the conveyor 1105 may discharge all of themedicine on it into the dispensed medicine container 365. Carousel 310,robot 345, and conveyor 355 may then work together to discharge allmedicines inside the medicine transfer container 375 back into themedicine storage container 320. Process 1200 may then end.

At block 1222, carousel 310 may transfer medicine storage container 320to the second medicine discharge point 380, and conveyor 1105 may beginto discharge all remaining medicine on conveyor 1105 into the medicinestorage container 320.

At block 1224, the processor 106 may determine if the medicine insidethe medicine transfer container 375 is equal to the required dosage. Ifso, carousel 310 may transfer the dispensed medicine container 365 tothe second medicine discharge point 380. Carousel 310, robot 345, andconveyor 355 may then work together to discharge all medicines insidethe medicine transfer container 375 into the dispensed medicinecontainer 365. Process 1200 may then end.

At block 1226, the processor 106 may determine if the medicine insidethe medicine transfer container 375 is greater than the required dosage.If so, carousel 310 may transfer the medicine transfer container 375 tothe first medicine discharge point 350 and discharge medicine inside themedicine transfer container 375 onto the conveyor 1105, and thentransfer the medicine transfer container 375 (or 370) to the secondmedicine discharge point 380. Blocks 1202 through 1224 may then berepeated with the medicine containers 375 (and/or 370), 320 and 365until the required dosage is dispensed into the dispensed medicinecontainer 365, and all extra medicine, e.g., in the medicine transfercontainers 375 (and/or 370) and/or on the conveyor 1105, is returned tothe medicine storage container 320.

Process 1200 may be repeated for the next medicine when required.

In embodiments, scale(s) 395, for example, in each weighing station orstorage nests associated with each container, may check quantity ofmedicine inside each container involved in process 1200, e.g., themedicine storage container 320, the medicine transfer containers 370,375, and the dispensed medicine container 365.

In general, process 1200 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 1200, and may decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 375 (or 370), and the dispensed medicine container 365 basedon process 1200.

FIG. 13A illustrates an exemplary sub-assembly 1300 of the disclosedsystem. Sub-assembly 1300 includes medicine container transfer unit 330having carousel 310, medicine container transfer unit 345 includes arobot with end of arm tool. Medicine transfer unit 355 includes a robotor conveyor 1305, sensors 1110 (not visible) and 1115, robot 1345 havingan end of arm tool (EOAT) 1310, a sensor 1330, and a vacuum head 1315.Medicine container transfer unit 345 and robot 1345 may be two differentrobots, or two different parts of the same one robot.

FIG. 13B is a view of the example of FIG. 13A, showing end of arm tool1310 at medicine discharge position 1325 to discharge medicine intomedicine container at discharge position 1320. The end of arm tool 1310may also discharge medicine into medicine container at dischargeposition 380 (not shown). The end of arm tool 1310 may also pick upmedicine from medicine containers at discharge position 1320 or 380 anddischarge onto medicine transfer unit 355.

Sub-assembly 1300 is a view of inside elements of dispenser 102 andincludes carousel 310. Sub-assembly 1300 includes loading station ormedicine container loading station 325, first medicine containertransfer unit 330, and medicine container storage nest 335. Medicinecontainer loading point 340 is proximate second medicine containertransfer unit 345. First medicine discharge point 350 includes, in theillustrated example, medicine transfer unit 355 that may include robot1345 and conveyer 1305 for transporting or otherwise conveying medicinefrom first medicine discharge point 350 to second medicine dischargepoint 380, and may include sensors 1110 (not visible) and 1115.Sub-assembly 1300 includes weight checking station 360, a calibrationand verification device 382 to automatically calibrate weight detectingdevices, dispensed medicine container 365, and medicine transfercontainer 370 and 375. Medicine storage container 320 is positioned oncarousel 310.

FIG. 13A is an illustration of exemplary sub-system 1300, and FIG. 13Bof the exemplary system of FIG. 13A shows end of arm tool 1310 atmedicine discharge position 1325. Medicine storage container 320 mayinclude original medicine container 390, medicine containeridentification unit 385, weight detecting device 395, and medicinecontainer storage nest 335. Weight detecting device 395 and medicinecontainer storage nest 335 may be integrated together. Weight detectingdevice 395 and medicine container storage nest 335 may also be part ofcarousel 310. Weight detecting device 395 may be a scale, a load cell,or other device for measuring weight, according to the disclosure.Weight detecting device 395 and medicine container storage nest 335 arepositioned about carousel 310 at each of the illustrated locations.Medicine container identification unit 385 may include identificationinformation particular to a given medicine, and may also identify anamount of medicine that may constitute a single patient dose particularto a given user of dispenser 102.

Referring still to FIG. 13A, medicine storage container 320 may beloaded into dispenser 102 from medicine container loading station 325,and medicine storage container 320 is transferred to medicine containerloading point 340 by medicine container transfer unit 330. Medicinestorage container 320 may include medicine in the form of a pill or acapsule, as examples, and a dose of medicine for a user may include oneor more of the pills or capsules. Medicine container transfer unit 330is illustrated as having carousel 310, but may instead include aconveyor, a robot, or any device that can move medicine storagecontainer 320 from one position to another, and discharge medicine frommedicine storage container 320.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380. Medicine transfer unit 355 may have a linear moving surfacesuch as a walking beam, a conveyor, or a rotating surface such as arotating disc or other shape, and includes in the illustrated exampleconveyer 1105 and robot 1345.

In operation, as shown in FIGS. 13A and 13B, dispenser 102 moves, viacarousel 310, medicine storage container 320 to loading point 312, andloading point 312 is proximate medicine container transfer unit 345.Medicine container transfer unit 345 engages with medicine storagecontainer 320 by attaching thereto, and moving medicine storagecontainer 320 to first medicine discharge point 350. Medicine storagecontainer 320 is, in one example, a medicine storage container which mayhave an amount of medicine that is in excess of a dose, or an amount ofmedicine that is desired to be distributed into dispensed medicinecontainer 365. Medicine container transfer unit 345 turns medicinestorage container 320 such that at least a predetermined amount ofmedicine spills or otherwise pours from medicine storage container 320onto medicine transfer unit 355, as determined by sensors or medicinedetecting device of the medicine transfer unit 355. Carousel 310 rotatesto move medicine transfer container 375 to second medicine dischargepoint 380. When medicine transfer container 375 is positioned atmedicine discharge point 380, and when medicine has been discharged ontomedicine transfer unit 355, medicine transfer unit 355 thereby conveysthe discharged medicine from medicine transfer unit 355 into medicinetransfer container 375 until at least a second predetermined amount ofmedicine is contained in medicine transfer container 375, as determinedby weight detecting device 395 and medicine container storage nest 335,which weigh and transmit weight information to for instance a controllerof dispenser 102.

Medicine transfer unit 355 includes robot 1345 and conveyor 1305, andsensors 1110 and 1115, which monitor medicine positioned on medicinetransfer unit 355 and on conveyor 1305. Sensors 1110, 1115 may beoptical sensors that are coupled, electrically or optically as examples,to processor 106. As such, processor 106 monitors medicine positioned onmedicine transfer unit 355 via sensors 1110, 1115. Sensors 1110 and 1115detect the presence of pills or capsules as they pass thereby viamedicine transfer unit 355 to second medicine discharge point 380. Inaddition, robot 1345 includes end of arm tool 1310 having vacuum head1315 that may attach via a vacuum, controlled by processor 106, toindividual pills or capsules passing along medicine transfer unit 355.Accordingly, in this example, pills or capsules may be not only conveyedby conveyor 1305 to medicine transfer container 370 or medicine transfercontainer 375 when positioned at medicine discharge point 380, but alsoconveyed by robot 1345 to medicine transfer container 370 or 375 whenpositioned at medicine discharge point 380. Pills or capsules may alsobe conveyed by robot 1345 to medicine transfer container 370 or 375positioned at position 1320. Pills or capsules may also be conveyed byrobot 1345 from medicine transfer containers 370 or 375 at dischargepoint 380 or 1320 back to the medicine transfer unit 355. Both methodsmay be used concurrently or separately. Thus, overall efficiency ormovement of pills or capsules may be improved by having an ability tomove pills or capsules to and/or from two locations simultaneously.

Medicine is transferred from medicine transfer unit 355 into medicinetransfer container 375, and a weight of the medicine is determined viaweight detecting device. If the measured weight is less than apredetermined amount, and if medicine is still on medicine transfer unit355 (i.e., has not been fully discharged), then medicine transfer unit355 further conveys more medicine into medicine transfer container 375.On the other hand, if no medicine is on medicine transfer unit 355, thenadditional medicine is discharged to medicine transfer unit 355 frommedicine storage container 320. The process of discharging from medicinestorage container 320 to medicine transfer unit 355, and from medicinetransfer unit 355 to medicine transfer container 375 continues until atleast a predetermined amount of medicine is contained in medicinetransfer container 375. That is, medicine transfer container 375 mayinclude an exact or desired dose, or may include an amount of medicinethat is in excess of an exact dose.

If an exact dose is present in medicine transfer container 375, thendispenser 102 operates to convey medicine transfer container 375 tofirst medicine discharge point 350 via medicine container transfer unit345, any remaining medicine on medicine transfer unit 355 is dischargedback into medicine storage container 320 at second medicine dischargepoint 380, and the medicine in medicine transfer container 375 isdischarged into dispensed medicine container 365 that is positioned atsecond medicine discharge point 380.

On the other hand, in one example medicine transfer container 375 mayinclude an amount of medicine that is in excess of an exact dose. Insuch an example, medicine transfer container 375 is thereby conveyed tofirst medicine discharge point 350 and operations described above arerepeated. That is, medicine container transfer unit 345 dischargesmedicine from medicine transfer container 375 onto medicine transferunit 355, and then medicine transfer container 375 (or 370) is conveyedvia carousel 310 to second medicine discharge point 380. Medicinedischarged from medicine transfer container 375 to medicine transferunit 355 is thereby conveyed to medicine transfer container 375 (or 370)until at least the exact dose is present in medicine transfer container375 (or 370). And, again, if medicine transfer container 375 (or 370)includes medicine equal to the dose, then the medicine in medicinetransfer container 375 (or 370) is discharged into dispensed medicinecontainer 365, and any excess medicine on medicine transfer unit 355 isreturned to medicine storage container 320.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395.Dispenser 102 is caused to operate using such feedback to ensure that acorrect dose is provided in dispensed medicine container 365. However,in the illustrated example, medicine, in this example, may be conveyedto and from medicine transfer container 370 or medicine transfercontainer 375 positioned at discharge position 1320 and 380, allowingsimultaneous iterations using two conveying methods on two containers inboth directions, which may allow convergence to a final dose, andmovement of medicine to and from medicine transfer unit 355 via a secondpath (i.e., via vacuum head 1315, for discharge position 380 and for acontainer positioned at discharge position 1320).

Referring now to FIG. 14, a flow diagram of another exemplary process1400 for operating the dispensing unit 102, which may incorporate thesub-assembly 1300, is illustrated. Process 1400 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 1400 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 1400, the first medicine containertransfer unit 330 is referred to as the carousel, and the secondmedicine container transfer unit 345 is referred to as the robot.However, it should be appreciated that any medicine container transferunit 330, 345 for performing the respective step(s) is contemplated, andthat the use of the terms carousel and robot are not intended to belimiting.

Blocks 1402 through 1410 may be the same or similar as blocks 1202through 1210 of process 1200. Process 1400 may begin to diverge fromprocess 1200 at block 1412 at which the carousel 310 may transfer amedicine transfer container 370, 375 to a medicine discharge point 1320(as opposed to discharge point 380).

At block 1414, conveyor 1105 may vibrate to spread the medicine thereonout evenly.

At block 1416, conveyor 1105 may move forward until the sensor 1115detects medicine, after which conveyor 1105 may stop.

At block 1418, robot 1345 may move forward from a home position untilsensor 1330 detects medicine, after which robot 1345 may stop.

At block 1420, vacuum head 1315 may descend to pick up the medicine andthen vacuum head 1315 may return to its original position.

At block 1422, robot 1345 may move forward to discharge the medicine onthe vacuum head 1315 into the medicine transfer container 370, 375 atmedicine discharge point 1320. Robot 1345 may also discharge themedicine on the vacuum head 1315 into the medicine transfer container370,375 at medicine discharge point 380 (not shown). Robot 1345 may alsopick up medicine from medicine transfer containers 370, 375 at medicinedischarge point 380 or 1320 and discharge onto the medicine transferunit 355.

At block 1424, processor 106 may determine if the medicine in themedicine transfer container 370, 375 has reached the required dosage. Ifit has, then process 1400 may proceed to block 1426. If it has not, andthere is no medicine left along the pathway of the motion of robot 1345,then process 1400 may repeat blocks 1416 to 1422 until the requireddosage has been reached, after which process 1400 may proceed to block1426.

At block 1426, carousel 310 may transfer the medicine storage container320 to the medicine discharge point 380, and conveyor 1105 may moveforward to discharge all remaining medicine on the conveyor 1105 intothe medicine storage container 320. Process 1400 may then proceed toblock 1430.

At block 1428, processor 106 may determine if any medicine remains onthe conveyor 1105. If not, and the medicine inside the medicine transfercontainer 370, 375 is still less than required dosage, blocks 1404through 1426 may be repeated.

At block 1430, the medicine inside of the medicine transfer container370, 375 may be discharged into the dispensed medicine container 365.

Process 1400 may be repeated for the next medicine when required orprocess 1400 may end.

In embodiments, scale(s) 395, for example, in each weighing station orstorage nests associated with each container, may check quantity ofmedicine inside each container involved in process 1400, e.g., themedicine storage container 320, the medicine transfer containers 370,375, and the dispensed medicine container 365.

In general, process 1400 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 1400, and may decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 370, 375, and the dispensed medicine container 365 based onprocess 1400.

FIG. 15A illustrates an exemplary sub-assembly 1500 of dispenser 102with a conveyor, a robot, a vacuum head (mounted on the same robot or adifferent robot), a vision system, and a carousel. In this examplemedicine container transfer unit 330 includes carousel 310, medicinecontainer transfer unit 345 includes a robot with end of arm tool,medicine transfer unit 355 includes conveyor 1305, two sensors 1110 (notvisible) and 1115, robot 1345 with end of arm tool 1310, sensor 1330,vacuum head 1315, and a machine vision system 1505 coupled to processor106 and configured to output a visual location and images of items, suchpills or capsules, of dispenser 102. Robot 345 and robot 1345 may be twodifferent robots, or two different parts of the same one robot.

FIG. 15B shows end of arm tool 1310 at medicine discharge position 1325to discharge medicine into the medicine storage container at themedicine container transfer unit 330 discharge position 1320. End of armtool 1310 may also discharge medicine into medicine storage container atmedicine container transfer unit 330 discharge position 380 (not shown).

FIG. 15A illustrates an exemplary sub-assembly 1500 of the disclosedsystem. Sub-assembly 1500 includes medicine container transfer unit 330having carousel 310, medicine container transfer unit 345 includes arobot with end of arm tool. Medicine transfer unit 355 includes a robotor conveyor 1305, sensors 1110 (not visible) and 1115, robot 1345 havingan end of arm tool (EOAT) 1310, a sensor 1330, and a vacuum head 1315.Medicine container transfer unit 345 and robot 1345 may be two differentrobots, or two different parts of the same one robot. FIG. 15B is a viewof the example of FIG. 15A, showing end of arm tool 1310 at medicinedischarge position 1325 to discharge medicine into medicine storagecontainer at discharge position 1320. The end of arm tool 1310 may alsodischarge medicine into medicine storage container at medicine containertransfer unit 330 discharge position 380 (not shown).

Sub-assembly 1500 is a view of inside elements of dispenser 102 andincludes carousel 310. Sub-assembly 1500 includes loading station ormedicine container loading station 325, first medicine containertransfer unit 330, and medicine container storage nest 335. Medicinecontainer loading point 340 is proximate second medicine containertransfer unit 345. First medicine discharge point 350 includes, in theillustrated example, medicine transfer unit 355 that may include robot1345 and conveyer 1305 for transporting or otherwise conveying medicinefrom the first medicine discharge point 350 to second medicine dischargepoint 380, and may include sensors 1110 (not visible) and 1115.Sub-assembly 1500 includes weight checking station 360, a calibrationand verification device 382 to automatically calibrate weight detectingdevices, dispensed medicine container 365, and medicine transfercontainer 370 and 375. Medicine storage container 320 is positioned oncarousel 310.

FIG. 15A is an illustration of medicine storage container 320 aspositioned proximate medicine container transfer unit 345, and FIG. 15Bof the exemplary system of FIG. 15A shows end of arm tool 1310 atmedicine discharge position 1325. Medicine storage container 320 mayinclude original medicine container 390, medicine containeridentification unit 385, weight detecting device 395, and medicinecontainer storage nest 335. Weight detecting device 395 and medicinecontainer storage nest 335 may be integrated together. Weight detectingdevice 395 and medicine container storage nest 335 may also be part ofcarousel 310. Weight detecting device 395 may be a scale, a load cell,or other device for measuring weight, according to the disclosure.Weight detecting device 395 and medicine container storage nest 335 arepositioned about carousel 310 at each of the illustrated locations.Medicine container identification unit 385 may include identificationinformation particular to a given medicine, and may also identify anamount of medicine that may constitute a single patient dose particularto a given user of dispenser 102.

Referring still to FIG. 15A, medicine storage container 320 may beloaded into dispenser 102 from MCLS 325, and medicine storage container320 is transferred to MCLP 340 by medicine container transfer unit 330.Medicine storage container 320 may include medicine in the form of apill or a capsule, as examples, and a dose of medicine for a user mayinclude one or more of the pills or capsules. Medicine containertransfer unit 330 is illustrated as having carousel 310, but may insteadinclude a conveyor, a robot, or any device that can move medicinestorage container 320 from one position to another, and dischargemedicine from medicine storage container 320.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380. Medicine transfer unit 355 may have a linear moving surfacesuch as a walking beam, a conveyor, or a rotating surface such as arotating disc or other shape, and includes in the illustrated exampleconveyer 1305.

In operation, as shown in FIGS. 15A and 15B, dispenser 102 moves, viacarousel 310, medicine storage container 320 to loading point 312, andloading point 312 is proximate medicine container transfer unit 345.Medicine container transfer unit 345 engages with medicine storagecontainer 320 by attaching thereto, and moving medicine storagecontainer 320 to first medicine discharge point 350. Medicine containertransfer unit 345 turns medicine storage container 320 such that atleast a predetermined amount of medicine spills or otherwise pours frommedicine storage container 320 onto medicine transfer unit 355, asdetermined by sensor or medicine weight detecting device on the medicinetransfer unit 355. Carousel 310 rotates to move medicine transfercontainer 375 to second medicine discharge point 380. When medicinetransfer container 375 is positioned at medicine discharge point 380,and when medicine has been discharged onto medicine transfer unit 355,medicine transfer unit 355 thereby conveys the discharged medicine frommedicine transfer unit 355 into medicine transfer container 375 until atleast a second predetermined amount of medicine is contained in medicinetransfer container 375, as determined by weight detecting device 395 andMCSN 335, which weigh and transmit weight information to for instance acontroller of dispenser 102.

Medicine transfer unit 355 includes robot 1345 and conveyor 1305, andsensors 1110 and 1115, which monitor medicine positioned on medicinetransfer unit 355 and on conveyor 1305. Sensors 1110, 1115 may beoptical sensors that are coupled, electrically or optically as examples,to processor 106. As such, processor 106 monitors medicine positioned onmedicine transfer unit 355 via sensors 1110, 1115. Sensors 1110 and 1115detect the presence of pills or capsules as they pass thereby viamedicine transfer unit 355 to second medicine discharge point 380. Inaddition, robot 1345 includes end of arm tool 1310 having vacuum head1315 that may attach via a vacuum, controlled by processor 106, toindividual pills or capsules passing along medicine transfer unit 355.Accordingly, in this example, pills or capsules may be not only conveyedby conveyor 1305 to medicine transfer container 370 or medicine transfercontainer 375 when positioned at medicine discharge point 380, but alsoconveyed by robot 1345 to medicine transfer container 370 or 375 whenpositioned at medicine discharge point 380. Pills or capsules may alsobe conveyed by robot 1345 to medicine transfer container 370 or 375positioned at position 1320. Pills or capsules may also be conveyed byrobot 1345 from medicine transfer containers 370 or 375 at dischargepoint 380 or 1320 back to the medicine transfer unit 355. Both methodsmay be used concurrently or separately. Thus, overall efficiency ormovement of pills or capsules may be improved by having an ability tomove pills or capsules to two locations simultaneously.

Medicine is transferred from medicine transfer unit 355 into medicinetransfer container 375, and a weight of the medicine is determined viaweight detecting device 395. If the measured weight is less than a givenor desired dose, and if medicine is still on medicine transfer unit 355(i.e., has not been fully discharged), then medicine transfer unit 355further conveys more medicine into medicine transfer container 375. Onthe other hand, if no medicine is on medicine transfer unit 355, thenadditional medicine is discharged to medicine transfer unit 355 frommedicine storage container 320. The process of discharging from medicinestorage container 320 to medicine transfer unit 355, and from medicinetransfer unit 355 to medicine transfer container 375 continues until atleast a dose of medicine is contained in medicine transfer container375. That is, medicine transfer container 375 may include an exact ordesired dose, or may include an amount of medicine that is in excess ofan exact dose.

If an exact dose is present in medicine transfer container 375, thendispenser 102 operates to convey medicine transfer container 375 tofirst medicine discharge point 350 via medicine container transfer unit345, any remaining medicine on medicine transfer unit 355 is dischargedback into medicine storage container 320 at second medicine dischargepoint 380, and the medicine in medicine transfer container 375 isdischarged into dispensed medicine container 365 that is positioned atsecond medicine discharge point 380.

On the other hand, in one example medicine transfer container 375 mayinclude an amount of medicine that is in excess of an exact dose. Insuch an example, medicine transfer container 375 is thereby conveyed tofirst medicine discharge point 350 and operations described above arerepeated. That is, medicine container transfer unit 345 dischargesmedicine from medicine transfer container 375 onto medicine transferunit 355, and then medicine transfer container 375 is conveyed viacarousel 310 to second medicine discharge point 380. Medicine dischargedfrom medicine transfer container 375 to medicine transfer unit 355 isthereby conveyed to medicine transfer container 375 until at least theexact dose is present in medicine transfer container 375. And, again, ifmedicine transfer container 375 includes medicine equal to the dose,then the medicine in medicine transfer container 375 is discharged intodispensed medicine container 365, and any excess medicine on medicinetransfer unit 355 is returned to medicine storage container 320.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395.Dispenser 102 is caused to operate using such feedback to ensure that acorrect dose is provided in dispensed medicine container 365. However,in the illustrated example, medicine, in this example, may be conveyedto and from medicine transfer container 370 or medicine transfercontainer 375 positioned at discharge position 1320 and 380 in bothdirections, allowing simultaneous or sequential iterations using twocontainers and two conveying methods in both directions, which may allowconvergence to a final dose, and movement of any additional medicinefrom medicine transfer unit 355 via a second path (i.e., via vacuum head1315, for containers positioned at position 1320 and 380). Additionally,vision system 1505 provides yet additional functionality, in that visionsystem 1505 may convey an image of pills or capsules passing alongmedicine transfer unit 355, providing a visual representation of thepills or capsules, and an additional method of identifying the movementthereof into medicine transfer container 370 and/or medicine transfercontainer 375. Processor 106 may compare these images with images storedin database 122 to make sure correct medicine is dispensed.

Referring now to FIG. 16, a flow diagram of another exemplary process1600 for operating the dispensing unit 102, which may incorporate thesub-assembly 1500, is illustrated. Process 1600 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 1600 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 1600, the first medicine containertransfer unit 330 is referred to as the carousel, and the secondmedicine container transfer unit 345 is referred to as the robot.However, it should be appreciated that any medicine container transferunit 330, 345 for performing the respective step(s) is contemplated, andthat the use of the terms carousel and robot are not intended to belimiting.

Process 1600 generally may be the same as or similar to process 1400,but may differ in the incorporation of the vision system 1505. Forexample, blocks 1602 through 1610 may correspond to blocks 1402 through1414 of process 1400. Process 1600 may begin to diverge from process1400 at block 1616 at which the conveyor 1105 may move forward, and thevision system 1505 may take pictures of the area of the conveyor 1105and process the images. Conveyor 1105 may stop when the sensor 1115detects medicine or the vision system 1505 gives instructions.

At block 1618, the vision system 1505 may process the images todetermine correct medicine is dispensed and locations of the medicine onthe conveyor 1105 under robot 1345.

At block 1620, the processor 106 and the vision system 1505 may worktogether to guide conveyor 1105 and robot 1345 movements to align vacuumhead 1315 and a piece of medicine to be picked up.

The remaining blocks 1622 through 1632 may correspond with blocks 1420through 1430 of process 1400.

Process 1600 may be repeated for the next medicine when required or theprocess 1600 may end.

In embodiments, scale(s) 395, for example, in each weighing station orstorage nests associated with each container, may check quantity ofmedicine inside each container involved in process 1600, e.g., themedicine storage container 320, the medicine transfer containers 370,375, and the dispensed medicine container 365.

In general, process 1600 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 1600, and may decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 370, 375, and the dispensed medicine container 365 based onprocess 1600.

FIG. 17A illustrates an exemplary sub-assembly 1700 of the discloseddispenser 102. FIG. 17B illustrates the exemplary system of FIG. 17Aduring operation. FIG. 17C illustrates a top view of the exemplarysystem of FIGS. 17A and 17B.

FIG. 17A is an example of dispenser 102 having a rotating table, arobot, and a carousel. In this example medicine container transfer unit330 includes carousel 310 and robot 345, medicine transfer unit 355includes a rotating table 1705 and sensors 1710 and 1720. FIG. 17B showsmedicine storage container 320 transferred to medicine discharge point350 by medicine container transfer unit 345 to discharge medicine fromthe medicine storage container 320 to rotating table 1705. Sensors 1710and 1720 monitor the medicine on table 1705.

FIG. 17A illustrates the disclosed dispenser 102 having rotating table1705 and sensors 1710 and 1720. In this example medicine containertransfer unit 330 includes carousel 310, and medicine container transferunit 345 includes table 1705 on which pills or capsules may be placed,such that they may roll or otherwise move in a generally circularfashion to discharge position 1320.

FIG. 17B is a view of sub-assembly as shown in FIG. 17A, showingmedicine storage container 320 transferred to first medicine dischargepoint 350 by medicine container transfer unit 345 to discharge medicinefrom medicine storage container 320 to table 1705.

FIG. 17A illustrates an exemplary sub-assembly 1700 illustrating thedisclosed system or dispenser. Sub-assembly 1700 is a view of insideelements of dispenser 102 and includes carousel 310. Sub-assembly 1700includes medicine container transfer unit 330, and medicine containerstorage nest 335. Medicine container loading point 340 is proximatemedicine container transfer unit 345. Sub-assembly 1700 includes weightchecking station 360, a calibration and verification device 382 toautomatically calibrate weight detecting devices, dispensed medicinecontainer 365, and medicine transfer container 370 and 375. Medicinestorage container 320 is positioned on carousel 310.

In operation, carousel 310 moves medicine storage container 320 toloading point 312, and loading point 312 is proximate medicine containertransfer unit 345. Medicine container transfer unit 345 engages withmedicine storage container 320 by attaching thereto, and moves medicinestorage container 320 to first medicine discharge point 350. Medicinestorage container 320 is, in one example, a medicine storage containerwhich may have an amount of medicine that is in excess of a dose, or anamount of medicine that is desired to be distributed into dispensedmedicine container 365. Medicine container transfer unit 345 turnsmedicine storage container 320 such that a predetermined amount ofmedicine spills or otherwise pours from medicine storage container 320onto rotating table 1705, as illustrated in FIG. 17B. Rotating table1705 is configured to rotate or jostle back and forth, causing itemssuch as pills or capsules thereon to jostle or vibrate, such that theitems pass about a circumference of rotating table 1705 and in arotational direction 1730 to a chute 1725.

When medicine transfer container 370 is positioned at discharge position1320, and when medicine has been discharged onto rotating table 1705,rotating table 1705 thereby conveys the discharged medicine fromrotating table 1705 into medicine transfer container 370 positioned atdischarge position 1320, until at least a second predetermined amount ofmedicine is contained in medicine transfer container 370, as determinedby weight detecting device 395 and medicine container storage nest 335,which weigh and transmit weight information to for instance a controllerof dispenser 102.

Medicine is transferred from rotating table 1705 into medicine transfercontainer 370, and a weight of the medicine is determined via weightdetecting device 395. If the medicine is less than a given or desireddose, and if medicine is still on rotating table 1705 (i.e., has notbeen fully discharged), then rotating table 1705 further conveys moremedicine into medicine transfer container 370. On the other hand, if nomedicine is on rotating table 1705, then additional medicine isdischarged to rotating table 1705 from medicine storage container 320.The process of discharging from medicine storage container 320 torotating table 1705, and from rotating table 1705 to medicine transfercontainer 370 continues until at least a dose of medicine is containedin medicine transfer container 370. That is, medicine transfer container370 may include an exact or desired dose, or may include an amount ofmedicine that is in excess of an exact dose.

If an exact dose is present in medicine transfer container 370, thendispenser 102 operates to convey medicine transfer container 370 todischarge position 350 via medicine container transfer unit 345, anyremaining medicine on rotating table 1705 is discharged back intomedicine storage container 320, and the medicine in medicine transfercontainer 370 is discharged into dispensed medicine container 365.

On the other hand, in one example medicine transfer container 370 mayinclude an amount of medicine that is in excess of an exact dose. Insuch an example, medicine transfer container 370 is thereby conveyed tofirst medicine discharge point 350 and operations described above arerepeated. That is, medicine container transfer unit 345 dischargesmedicine from medicine transfer container 370 onto the rotating table1705, and then medicine transfer container 370 (or medicine transfercontainer 375) is conveyed via carousel 310 to medicine discharge point1320. Medicine discharged from medicine transfer container 370 to therotating table 1705 is thereby conveyed to medicine transfer container370 (or 375) until at least the exact dose is present in medicinetransfer container 370 (or 375). And, again, if medicine transfercontainer 370 (or 375) includes medicine equal to the dose, then themedicine in medicine transfer container 370 (or 375) is discharged intodispensed medicine container 365, and any excess medicine on therotating table 1705 is returned to medicine storage container 320.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device. Dispenser102 is caused to operate using such feedback to ensure that a correctdose is provided in dispensed medicine container 365.

Referring now to FIG. 18, a flow diagram of another exemplary process1800 for operating the dispensing unit 102, which may incorporate thesub-assembly 1700, is illustrated. Process 1800 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 1800 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 1800, the first medicine containertransfer unit 330 is referred to as the carousel, and the secondmedicine container transfer unit 345 is referred to as the robot.However, it should be appreciated that any medicine container transferunit 330, 345 for performing the respective step(s) is contemplated, andthat the use of the terms carousel and robot are not intended to belimiting.

Process 1800 generally may be the same as or similar to process 1200,but may differ in the incorporation of a rotating table 1705 andcorresponding sensors 1410, 1420, in lieu of the conveyor 1105 andsensor 1110, 1115. In addition, the medicine transfer container 375 andthe dispensed medicine container 365 are moved to medicine dischargepoint 1715 at blocks 1812, 1822, and 1824, as opposed to medicinedischarge point 380 in process 1200. However, it should be appreciatedthat in some embodiments, the medicine discharge point 1715 may be thesame as medicine discharge point 380.

Process 1800 may be repeated for the next medicine when required orprocess 1800 may end.

In embodiments, scale(s) 395, for example, in each weighing station orstorage nests associated with each container, may check quantity ofmedicine inside each container involved in process 1800, e.g., themedicine storage container 320, the medicine transfer containers 370,375, and the dispensed medicine container 365.

In general, process 1800 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 1800, and may decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 370, 375, and the dispensed medicine container 365 based onprocess 1800.

FIG. 19A illustrates an exemplary sub-assembly 1900 of the discloseddispenser 102. FIG. 19B illustrates the exemplary sub-assembly of FIG.19A during operation.

Sub-assembly 1900 includes medicine container transfer unit 330 includeshaving carousel 310, and medicine container transfer unit 345 includes arobot with end of arm tool. Medicine transfer unit 355 includes arotating table 1705, two sensors 1710 (not visible) and 1720, and robot1345 having end of arm tool 1310, another sensor 1330, and vacuum head1315. Sensor 1905 is additionally positioned orthogonal to a surface oftable 1705. Robot or medicine container transfer unit 345 and robot 1345may be two different robots, or two different parts of the same onerobot. Sub-assembly 1900 includes weight checking station 360, acalibration and verification device 382 (not visible) to automaticallycalibrate weight detecting devices, dispensed medicine container 365,and medicine transfer container 370 and 375. Medicine storage container320 is positioned on carousel 310. FIG. 19B shows end of arm tool 1310at medicine discharge position 1325 to discharge medicine into themedicine storage container 320 at medicine container transfer unit 330discharge position 1320.

Referring now to FIG. 20, a flow diagram of another exemplary process2000 for operating the dispensing unit 102, which may incorporate thesub-assembly 1100, is illustrated. Process 2000 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 2000 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 2000, the first medicine containertransfer unit 330 is referred to as the carousel, and the secondmedicine container transfer unit 345 is referred to as the robot.However, it should be appreciated that any medicine container transferunit 330, 345 for performing the respective step(s) is contemplated, andthat the use of the terms carousel and robot are not intended to belimiting.

Blocks 2002 through 2012 may be the same or similar as blocks 1802through 1812 of process 1800. Process 2000 may begin to diverge fromprocess 1800 at block 2014 at which the rotating table 1705 may vibrateto spread out medicine evenly.

At block 2016, the rotating table 1705 may rotate until a sensor 1905detects medicine, after which the rotating table 1705 may stop.

At block 2018, robot 1345 may move forward from a home position untilsensor 1330 detects medicine on the rotating table 1705, after whichrobot 1305 may stop.

At block 2020, vacuum head 1315 may descend to pick up the medicine andthen vacuum head 1315 may return to its original position.

At block 2022, robot 1345 may move forward to discharge the medicine onthe vacuum head 1315 into the medicine transfer container 370, 375 atmedicine discharge point 1320. Robot 1345 may also discharge themedicine on the vacuum head 1315 into the medicine transfer container370, 375 at medicine discharge point 380 (not shown). Robot 1345 mayalso pick up medicine from medicine transfer containers 370,375 atmedicine discharge point 380 or 1320 and discharge onto the medicinetransfer unit 355.

At block 2024, processor 106 may determine if the medicine in themedicine transfer container 370, 375 has reached the required dosage. Ifit has, then process 2000 may proceed to block 2026. If it has not, andthere is no medicine left along the pathway of the motion of robot 1345,then process 2000 may repeat blocks 2016 to 2022 until the requireddosage has been reached, after which process 2000 may proceed to block2026.

At block 2026, carousel 310 may transfer the medicine storage container320 to the medicine discharge point 1320, and rotating table 1705 mayrotate to discharge all remaining medicine on the rotating table 1705into the medicine storage container 320. Process 2000 may then proceedto block 2030.

At block 2028, processor 106 may determine if any medicine remains onthe rotating table 1705. If no, and the medicine inside the medicinetransfer container 370, 375 is still less than required dosage, blocks2004 through 2026 may be repeated.

At block 2030, all the medicine inside of the medicine transfercontainer 370 or 375 may be discharged into the dispensed medicinecontainer 365.

Process 2000 may be repeated for the next medicine when required orprocess 2000 may end.

In embodiments, scale(s) 395, for example, in each weighing station orstorage nests associated with each container, may check quantity ofmedicine inside each container involved in process 2000, e.g., themedicine storage container 320, the medicine transfer containers 370,375, and the dispensed medicine container 365.

In general, process 2000 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 2000, and may decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 370, 375, and the dispensed medicine container 365 based onprocess 2000.

FIG. 21A illustrates an exemplary sub-assembly 2100 of the discloseddispenser 102. FIG. 21B illustrates dispenser 102 having a rotatingtable, a robot, a vacuum head (mounted on the same robot or a differentrobot), a vision system, and a carousel. Sub-assembly 2100 illustratesmedicine container transfer unit 330 having carousel 310, and medicinecontainer transfer unit 345 includes a robot with end of arm tool.Medicine transfer unit 355 includes a rotating table 1705, three sensors1710 (not visible), 1720 and 1905, another robot with 1345 with end ofarm tool 1310, vacuum head 1315, and machine vision system 1505. Robot345 and robot 1345 may be two different robots, or two different partsof the same one robot. Sub-assembly 2100 includes weight checkingstation 360, a calibration and verification device 382 (not visible)including to automatically calibrate weight detecting devices, dispensedmedicine container 365, and medicine transfer container 370 and 375.Medicine storage container 320 is positioned on carousel 310.

FIG. 21B shows the end of arm tool 1310 at medicine discharge position1325 to discharge medicine into the medicine storage container 320 atmedicine container transfer unit 330 discharge position 1320.

Referring now to FIG. 22, a flow diagram of another exemplary process2200 for operating the dispensing unit 102, which may incorporate thesub-assembly 2100, is illustrated. Process 2200 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 2200 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 2200, the first medicine containertransfer unit 330 is referred to as the carousel, and the secondmedicine container transfer unit 345 is referred to as the robot.However, it should be appreciated that any medicine container transferunit 330, 345 for performing the respective step(s) is contemplated, andthat the use of the terms carousel and robot are not intended to belimiting.

Process 2200 generally may combine various blocks from the differentprocesses 1000, 1200, 1400, 1600, 1800 and/or 2000 described above. Forexample, blocks 2202 through 2214 correspond to blocks 2002 through 2014of process 2000. The remaining blocks of process 2200 may correspond toblocks 1616 through 1632 of process 1600, where process 2200 differs inthe use of rotating table 1705 in place of the conveyor 1105, and sensor2205 in place of sensor 1115.

As with the other processes described above, process 2200 may berepeated for the next medicine when required.

In embodiments, scale(s) 395, for example, in each weighing station orstorage nests associated with each container, may check quantity ofmedicine inside each container involved in process 2200, e.g., themedicine storage container 320, the medicine transfer containers 370,375, and the dispensed medicine container 365.

In general, process 2200 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 2200, and may decide the best way to distribute themedicine among medicine storage container 320, the medicine transfercontainers 370, 375, and the dispensed medicine container 365 based onprocess 2200.

FIG. 23 is a perspective view of an exemplary sub-assembly 2300illustrating the disclosed system or dispenser. Sub-assembly 2300 is aview of inside elements of dispenser 102. Sub-assembly 2300 includes aloading station or MCLS 325, a medicine container transfer unit (MCTU)330, and a storage device or medicine container storage nest (MCSN) 335.A medicine transfer unit (MTU) 355 may include a ramp or conveyor fortransporting or otherwise conveying medicine from a first medicinedischarge point (MDP) 350 to a second medicine discharge point (MDP)380. The medicine discharge points 350 and 380 may not be fixed and maychange to different positions during the dispensing process. MTU 355 mayinclude one or more devices for measuring a weight or amount of medicinepositioned thereon, as will be further described in further examples.Sub-assembly 2300 includes a weight checking station (WCS) 360,dispensed medicine container (DMC) 365. Weight checking station 360 maydetermine an amount of weight contained thereon. Sub-assembly 2300includes a calibration and verification device 382 to automaticallycalibrate weight detecting devices. The calibration and verificationdevice 382 may include, but is not limited to, a calibrator, andmultiple calibration weights with different masses. The medicinecontainers are stored on the medicine container storage device 2388. Themedicine container storage device may have many different forms anddesigns, Weight checking station 360 may have similar design as othermedicine container storage nest 335 including a weight checking device395 and attach to the medicine container storage device 2388. Weightchecking station 360 may be a standalone device including a regularpharmacy scale or pharmacy balance.

The system may include and utilize one or a plurality of dispensedmedicine containers 365 (DMC). For example, a first medicine containermay have a final or prescribed dosage for patient to take and a secondmedicine container may be for system to use. Medicine transfer unit 355(MTU), medicine transfer container 370 and/or 375 (MTC), dispensedmedicine container 365 (DMC), and medicine storage containers 320 (MSC)may or may not be separated physical devices. The medicine containersmay have any shape, size, and may differ from those illustrated. Onedevice or container may have multiple functions. The Medicine StorageContainer 320 (MSC) may include an original or standard containerreceived with medicine from pharmacies, hospitals, etc., the medicinestorage container may be integrated with or provided with the system, ormay be a combination thereof. The medicine transfer unit 355 (MTU) mayinclude any device that conveys medicine from one point to anotherpoint, and may have different forms and designs, may be a chute, acontainer of any shape and size, a plate, a conveyor, a moving surface,a robot, a sub assembly, a machine, although examples of the medicinetransfer unit are shown in examples as a linear conveyor. A medicinequantity sensing unit may include visual sensors, or any monitoringdevice that may count or otherwise determine a quantity of medicine, andmay include scales, load cells, balances, sensors, images, and othermeans. The medicine container transfer unit 330 (MCTU) may include anydevice that moves the medicine containers, and may have many differentforms and designs, including a conveyor, a carousel, a robot, a walkingbeam, a dial table, a rotary table, a sub assembly, a machine. Themedicine container storage device stores medicine containers and thedevices may have many different forms and designs, including a platform,a container of any shape, a shelf, a conveyor, a carousel, a robot, awalking beam, a dial table, a rotary table, a sub assembly, and amachine. The systems herein may have multiple layers (such as additionalmedicine container transfer units).

In addition, in one example, containers used are original containersreceived from, for instance, a pharmacy with the medicine. However, thesystem may have its own containers and medicines are transferred fromthe original containers to the system containers. As such, the systemmay keep original containers. The disclosed system can transfermedicines back from system containers to original containers if needed,e.g., switch to a different medicine because of, for instance, anyallergy to a medicine.

The disclosed system may have a cleaning device to clean the surfacesafter dispensing cycle for those surfaces contacted with medicine duringthe disclosed dispensing processes.

Referring back to FIG. 23, medicine storage container 320, or originalmedicine container 390, either of which may have medicine provided fromfor instance a pharmacy, may be loaded into dispenser 102 from medicinecontainer loading station 325, and medicine storage container 320 istransferred to it storage position on the medicine container storagedevice 2388 by medicine container transfer unit 330. Medicine storagecontainer 320 may include medicine in the form of a pill or a capsule,as examples, and a dose of medicine for a user may include one or moreof the pills or capsules. Medicine container transfer unit 330 isillustrated as having CNC (computer numerical control) machine 2310, butmay instead include a conveyor, a robot, an automated machine, or anydevice that can move medicine storage container 320 from one position toanother.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380. Medicine transfer unit 355 may have many different forms anddesigns, including a conveyor, a carousel, a robot, a walking beam, adial table, a rotary table, a sub assembly, a machine.

In operation, dispenser 102 moves, via medicine container transfer unit330, dispensed medicine container 365 to medicine discharge point 380.Medicine container transfer unit 330 then may move medicine storagecontainer 320 to medicine discharge point 350. Medicine storagecontainer 320 is, in one example, a medicine storage container which mayhave medicine that is desired to be distributed into dispensed medicinecontainer 365. Medicine container transfer unit 330 discharges medicinestorage container 320 such that at least a predetermined amount ofmedicine spills or otherwise pours from medicine storage container 320onto medicine transfer unit 355, as determined by sensor or medicineweight detecting devices on the medicine transfer unit 355. Whendispensed medicine container 365 is positioned at medicine dischargepoint 380, and when medicine has been discharged onto medicine transferunit 355, medicine transfer unit 355 thereby conveys the dischargedmedicine from medicine transfer unit 355 into dispensed medicinecontainer 365 until at least a second predetermined amount of medicineis contained in dispensed medicine container 365, as determined byweight determining device 395 and medicine container storage nest 335,which weigh and transmit weight information to for instance a controllerof dispenser 102. The amount of medicine contained in dispensed medicinecontainer 365 may also be determined by weight checking station 360.Other methods may be used to determine amount of medicine is containedin dispensed medicine container 365, e.g. sensor, and image.

Medicine is transferred from medicine transfer unit 355 into dispensedmedicine container 365, and a weight of the medicine is determined viaweight determining device 395 and/or weight checking station 360. If themeasured weight is less than a given or desired dose, and if medicine isstill on medicine transfer unit 355 (i.e., has not been fullydischarged), then medicine transfer unit 355 further conveys moremedicine into dispensed medicine container 365. On the other hand, if nomedicine is on medicine transfer unit 355, then additional medicine isdischarged to medicine transfer unit 355 from medicine storage container320. The process of discharging from medicine storage container 320 tomedicine transfer unit 355, and from medicine transfer unit 355 todispensed medicine container 365 continues until at least a dose ofmedicine is contained in dispensed medicine container 365. That is,dispensed medicine container 365 may include an exact or desired dose,or may include an amount of medicine that is in excess of an exact dose.

If an exact dose is present in dispensed medicine container 365 andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320.

On the other hand, in one example dispensed medicine container 365 mayinclude an amount of medicine that is in excess of an exact dose andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320. In such an example, dispensed medicine container365 is conveyed via medicine container transfer unit 330 to firstmedicine discharge point 350. Medicine container transfer unit 330discharges medicine inside dispensed medicine container 365 ontomedicine transfer unit 355. Medicine container transfer unit 330 thenmoves dispensed medicine container 365 to second medicine dischargepoint 380 and operations described above are repeated. That is, medicinedischarged from dispensed medicine container 365 to medicine transferunit 355 is thereby conveyed to dispensed medicine container 365 untilat least the exact dose is present in dispensed medicine container 365.And, again, if dispensed medicine container 365 includes medicine equalto the dose, then any excess medicine on medicine transfer unit 355 isreturned to medicine storage container 320. On the other hand, in oneexample dispensed medicine container 365 may include an amount ofmedicine that is in excess of an exact dose. In such an example, anyremaining medicine on medicine transfer unit 355 is discharged back intomedicine storage container 320 and dispensed medicine container 365 isconveyed via medicine container transfer unit 330 to first medicinedischarge point 350 and operations described above are repeated.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395 and/orweight checking station 360. The feedback may also be provided in otherforms, e.g. pill numbers determined by sensors, or images. Dispenser 102is caused to operate using such feedback to ensure that a correct doseis provided in dispensed medicine container 365.

Referring now to FIG. 24, a flow diagram of an exemplary process 2400for setting up the system 100 is illustrated. Process 2400 may includeoperations that may be part of program 110 stored on memory 108, and/orexecuted by processor 106. Process 2400 may take many different formsand include multiple and/or alternate steps. While an exemplary processis shown, the exemplary steps illustrated are not intended to belimiting. Indeed, additional or alternative steps and/or implementationsmay be used.

Process 2400 may be the same or similar as process 600. Process 2400 maydiverge from process 600 at block 2420 at which only use one medicinecontainer transfer unit.

Referring now to FIG. 25, a flow diagram of an exemplary process 2500 isillustrated. Process 2500 may be for operating the dispensing unit 102,e.g., moving a dose (or other predetermined amount) of medicine to adispensed medicine container. Process 2500 may include operations thatmay be part of program 110, stored on memory 108 or database 122, and/orexecuted by processor 106. Process 2500 may take many different formsand include multiple and/or alternate steps. While an exemplary processis shown, the exemplary steps illustrated are not intended to belimiting. Indeed, additional or alternative steps and/or implementationsmay be used. In addition, process 2500 may be applicable, in whole or inpart, to each of processes 2600, 2800, 3000, and 3200 and the specificembodiments of the dispensing unit 102 incorporated therein, asdescribed in more detail hereinafter.

At block 2502, the processor 106 may run calibration and verificationlogic with calibration and verification device 382 to calibrate orverify weight detecting devices.

At block 2504, the processor 106 may move, e.g., by way of the medicinecontainer transfer unit 330, dispensed medicine container 365 from aninitial position to a second discharge point 380, which, as explainedabove, may be located at an end of the medicine transfer unit 355 toreceive the medicine.

At block 2506, processor 106, e.g., by way of medicine containertransfer unit 330, may move the medicine storage container 320 from aninitial position, e.g., the storage position, to a first discharge point350, which may be stored on and received from memory 108 or database122.

At block 2508, the processor 106 may discharge, e.g., by way of themedicine container transfer unit 330, at least a first predeterminedamount of medicine from the medicine storage container 320 onto themedicine transfer unit 355. The predetermined amount may or may not bethe required dosage and may change during the dispensing process. Itshould be appreciated that the processor 106 may discharge the medicinefrom the medicine storage container 320 via any known mechanism ordevice, which may rotate, tilt, or otherwise move the medicine storagecontainer 320.

At block 2510, the processor 106 may discharge, e.g., by way of themedicine transfer unit 355, at least a second predetermined amount ofthe medicine on the medicine transfer unit 355 therefrom into thedispensed medicine container 365 positioned at the second dischargepoint 380. The second predetermined amount may or may not be the same asthe first predetermined amount, and may change during the dispensingprocess.

At block 2512, the dispensing unit 102, by way of the processor 106, maydetermine if the medicine in the dispensed medicine container 365 isequal to the required dosage, as determined and stored in the memory 108in process 2400. If the medicine does equal the required dosage, thenprocess 2500 may proceed to blocks 2514. If not, then process 2500 mayproceed to block 2516.

At block 2514 the processor 106 may move, e.g., via the medicinetransfer unit 355, all the remaining medicine on the medicine transferunit 355 back to the medicine storage container 320 by variousrearranging of the medicine storage container 320 from and to the secondmedicine discharge point 380. Process 2500 may end after block 2514.

At block 2516, the dispensing unit 102, for example, by way of theprocessor 106, may determine if the medicine in the dispensed medicinecontainer 365 is less than the required dosage. If it is less, thenprocess 2500 may proceed to block 2518 at which the dispensing unit(e.g., the processor 106) may determine if there is still medicine onthe medicine transfer unit 355. If there is not, process 2500 may goback to block 2508. If there is, process 2500 may go back to block 2510.

If the medicine in the dispensed medicine container 365 is not less thanthe required dosage, as may be determined at block 2516, process 2500may proceed to blocks 2520 and 2522 at which the processor 106 may movethe medicine storage container 320 to the second discharge point 380,and the dispensed medicine container 365 to the first discharge point350.

At block 2524, the processor 106 may discharge any remaining medicine onthe medicine transfer unit 355 into the medicine storage container 320.

At block 2526, the processor 106 may discharge medicine inside dispensedmedicine container 365 onto medicine transfer unit 355.

After block 2526, process 2500 may go back to block 2510 and operationsdescribed above are repeated.

Process 2500 may be iterated until the medicine in the dispensedmedicine container 365 equals the required dosage.

As described in more detail with respect to processes 2600, 2800, 3000,and 3200, the processor 106 may communicate with, i.e., send commandsto, receive data from, and the like, to various components of thedispensing unit 102 and/or system 500 to perform the different steps ofprocess 2500. In addition or alternatively, the various components maycommunicate directly with each other.

Referring now to FIG. 26, a flow diagram of another exemplary process2600 for operating the dispensing unit 102 is illustrated, which mayincorporate the sub-assembly 2300. Process 2600 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 2600 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used.

Process 2600 may begin at step 2602 at which the processor 106 may runcalibration and verification logic with calibration and verificationdevice 382 to calibrate or verify weight detecting devices.

At block 2604, the medicine container transfer unit 330 may transfer adispensed medicine container 365 to second discharge point 380 and amedicine storage container 320 from its initial location to firstdischarge point 350.

At block 2606, the processor 106 may discharge medicine from themedicine storage container 320 onto the medicine transfer unit 355. Thismay be achieved by rotating the medicine storage container 320, whichmay be steady or intermittent, and operating the end of arm tool 1125.It should be appreciated that other ways to discharge the medicine fromthe medicine storage container 320 onto the medicine transfer unit 355are contemplated.

At block 2608, sensor and/or scale and/or other medicine detectingdevices detect quantity of medicine discharged on the medicine transferunit 355.

At block 2610, the processor 106 may stop discharging when it receives asignal from the medicine transfer unit 355 or other medicine detectingdevices that detects at least a predefined amount of medicine dischargedon the medicine transfer unit 355, which may or may not be the requireddosage. For example, the medicine transfer unit 355 may include one ormore sensors that detect weight, area, volume, or any othercharacteristic by which an amount of medicine on the medicine transferunit 355 may be determined. The medicine transfer unit 355 may thencommunicate, e.g., send a signal, directly to the medicine containertransfer unit 330 to stop discharging, or indirectly by sending a signalto the processor 106 that the predefined amount of medicine has beendetected, the processor 106 in turn to stop discharging.

At block 2612, the medicine transfer unit 355 may then begin dischargingthe medicine on it into the dispensed medicine container 365.

At block 2614, the processor 106 may determine if the medicine insidethe dispensed medicine container 365 is less than the required dosage.In one exemplary approach, this may be determined by measuring theweight of the medicine in the dispensed medicine container 365 by weightchecking station 360 and/or by the scale 395 on which the dispensedmedicine container 365 may be disposed. The weight checking device 395and/or weight checking station 360 may then transmit data representingthe measured weight to the processor 106, which may then compare themeasured weight with a weight corresponding to the medicine in therequired dosage, which may be stored locally on the memory 108 and/orremotely at any one of the databases 510-516.

If the medicine inside the dispensed medicine container 365 is not lessthan the required dosage, then process 2600 may proceed to block 2616.If it is less and there is no medicine left on the medicine transferunit 355, then process 2600 may repeat blocks 2606 to 2612 until theamount of medicine inside the dispensed medicine container 365 is notless than the required dosage. Then process 2500 may proceed to block2616.

At block 2616, the medicine transfer unit 355 may stop discharging themedicine when the medicine in the dispensed medicine container 365equals or exceeds a predefined quantity (which may be different from theamount in the block 2610).

At block 2618, the medicine container transfer unit 330 may transfer thedispensed medicine container 365 to its storage position and themedicine storage container 320 to the second medicine discharge point380.

At block 2620, the medicine transfer unit 355 may discharge all theremaining medicine on it back into the medicine storage container 320.

At block 2622, if the medicine in the dispensed medicine container 365is equal to the required dosage, process 2600 may end after this step.

At block 2624, if the medicine inside dispensed medicine container 365is greater than the required dosage, medicine container transfer unit330 transfers dispensed medicine container 365 to the first medicinedischarge point 350.

At block 2626, the processor 106 may discharge medicine from thedispensed medicine container 365 onto the medicine transfer unit 355.

At block 2628, medicine detecting devices monitor medicine discharged onthe medicine transfer unit 355 and left in the dispensed medicinecontainer 365.

At block 2630, if medicine left in the dispensed medicine container 365is less than the required dosage, go to block 2634.

At block 2632, if medicine left in the dispensed medicine container 365equals to the required dosage, return all medicine on the medicinetransfer unit 355 to the medicine storage container 320. The process mayend.

At block 2634, the medicine container transfer unit 330 may transfer thedispensed medicine container 365 to the second medicine discharge point380.

At block 2636, repeat blocks 2612 to 2634 until required dosage isdispensed into the dispensed medicine container 365 and all extramedicine is returned to the medicine storage container 320.

Process 2600 may be repeated for the next medicine when required.

In general, process 2600 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 2600.

FIG. 27A illustrates an exemplary sub-assembly 2700 of the disclosedsystem. FIG. 27B illustrates the exemplary system of FIG. 27A duringoperation. FIG. 27C illustrates a top view of the exemplary system ofFIGS. 27A and 27B. FIG. 27A illustrates the disclosed dispenser having aconveyor 1105, and a CNC machine 2720, In this example medicinecontainer transfer unit 330 includes CNC machine 2720 that includes Xaxis 2730, Y axis 2740, Z axis 2750, and an end of arm tool (EOAT) 1125.Medicine transfer unit 355 may include a conveyor 1105 and sensors 1110and 1115. FIG. 27B is a view of sub-assembly as shown in FIG. 27A,showing medicine storage container 320 transferred to first medicinedischarging point 350 by medicine container transfer unit 330 todischarge medicine from medicine storage container 320 onto conveyor1105. Sensors 1110 and 1115 monitor medicine positioned on medicinetransfer unit 355 and more specifically on conveyor 1105.

FIG. 27A illustrates an exemplary sub-assembly 2700 illustrating thedisclosed system or dispenser. Sub-assembly 2700 is a view of insideelements of dispenser 102 and includes CNC machine 2720. Sub-assembly2700 includes loading station or medicine container loading station 325,medicine container transfer unit 330, and medicine container storagenest 335. Medicine transfer unit 355 includes, in the illustratedexample, conveyor 1105 for transporting or otherwise conveying medicinefrom first medicine discharge point 350 to second medicine dischargepoint 380, and may include sensors 1110 and 1115. The medicine dischargepoints 350 and 380 may not be fixed and may change to differentpositions during the dispensing process. Sub-assembly 2700 includesweight checking station 360, dispensed medicine container 365, and acalibration and verification device 382 to automatically calibrateweight detecting devices. The medicine containers are stored on themedicine container storage device 2388. The medicine container storagedevice may have many different forms and designs, Weight checkingstation 360 may have similar design as other medicine container storagenest 335 including a weight checking device 395 and attach to themedicine container storage device 2388. Weight checking station 360 mayalso be a standalone device including a regular pharmacy scale orpharmacy balance.

Referring to FIGS. 27A-C, FIG. 27A is an illustration of medicinestorage container 320 as positioned at its storage position, and FIG.27B the exemplary system of FIG. 27A during operation. Medicine storagecontainer 320 may include original medicine container 390, medicinecontainer identification unit 385, weight detecting device 395, andmedicine container storage nest 335. Weight detecting device 395 andmedicine container storage nest 335 may be integrated together. Weightdetecting device 395 may be a scale, a load cell, or other device formeasuring weight, according to the disclosure. Weight detecting device395 and medicine container storage nest 335 are positioned aboutmedicine container storage device 2388 at each of the illustratedlocations. Medicine container identification unit 385 may includeidentification information particular to a given medicine, and may alsoidentify an amount of medicine that may constitute a single patient doseparticular to a given user of dispenser 102.

Referring still to FIG. 27A, medicine storage container 320 may beloaded into dispenser 102 from medicine container loading station 325,and medicine storage container 320 is transferred to its storageposition by medicine container transfer unit 330. Medicine storagecontainer 320 may include medicine in the form of a pill or a capsule,as examples, and a dose of medicine for a user may include one or moreof the pills or capsules. Medicine container transfer unit 330 isillustrated as having a CNC machine 2720, but may instead include aconveyor, a robot, or any device that can move medicine storagecontainer 320 from one position to another, and discharge medicine frommedicine storage container 320. The Y axis 2740 is illustrated as a subsystem of the CNC machine 2720, but may be a different machine workingwith the CNC machine 2720 and may have many different forms and designs,including a platform, a container of any shape, a shelf, a conveyor, acarousel, a robot, a walking beam, a dial table, a rotary table, a subassembly, and any device that can move medicine storage container 320.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380. Medicine transfer unit 355 may have a linear moving surfacesuch as a walking beam, a conveyor, a vibrating feeder, or a rotatingsurface such as a rotating disc or other shape.

In operation, as shown in FIGS. 27A and 27B, dispenser 102 moves, viathe medicine container transfer unit 330, dispensed medicine container365 to second medicine discharge point 380 and medicine storagecontainer 320 to first medicine discharge point 350. Medicine storagecontainer 320 is, in one example, a medicine storage container which mayhave an amount of medicine that is in excess of a dose, or an amount ofmedicine that is desired to be distributed into dispensed medicinecontainer 365. Medicine container transfer unit 330 turns medicinestorage container 320 such that a predetermined amount of medicinespills or otherwise pours from medicine storage container 320 ontomedicine transfer unit 355, as determined by sensor or medicinedetecting device on the medicine transfer unit 355. When dispensedmedicine container 365 is positioned at medicine discharge point 380,and when medicine has been discharged onto medicine transfer unit 355,medicine transfer unit 355 thereby conveys the discharged medicine frommedicine transfer unit 355 into dispensed medicine container 365 untilat least a second predetermined amount of medicine is contained indispensed medicine container 365, as determined by weight checkingstation 360 and/or by weight detecting device 395 and medicine containerstorage nest 335, which weigh and transmit weight information to forinstance a controller of dispenser 102.

Medicine transfer unit 355 includes conveyor 1105, and sensors 1110 and1115, which monitor medicine positioned on medicine transfer unit 355and on conveyor 1105. Sensors 1110, 1115 may be optical sensors that arecoupled, electrically or optically as examples, to processor 106. Assuch, processor 106 monitors an amount of medicine positioned onmedicine transfer unit 355 via sensors 1110, 1115.

FIG. 27C illustrates a top view of the exemplary system of FIGS. 27A and27B, and shows medicine storage container 320 turned such that at leasta predetermined amount of medicine spills or otherwise pours frommedicine storage container 320 onto medicine transfer unit 355. Sensors1110 and 1115 detect the presence of pills or capsules 1135 as they passthereby via medicine transfer unit 355 to second medicine dischargepoint 380.

Medicine is transferred from medicine transfer unit 355 into dispensedmedicine container 365, and a weight of the medicine is determined viaweight detecting device 395 and/or weight checking station 360. If themeasured weight is less than a given or desired dose, and if medicine isstill on medicine transfer unit 355 (i.e., has not been fullydischarged), then medicine transfer unit 355 further conveys moremedicine into dispensed medicine container 365. On the other hand, if nomedicine is on medicine transfer unit 355, then additional medicine isdischarged to medicine transfer unit 355 from medicine storage container320. The process of discharging from medicine storage container 320 tomedicine transfer unit 355, and from medicine transfer unit 355 todispensed medicine container 365 continues until at least a dose ofmedicine is contained in dispensed medicine container 365. That is,dispensed medicine container 365 may include an exact or desired dose,or may include an amount of medicine that is in excess of an exact dose.

If an exact dose is present in dispensed medicine container 365 andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320.

On the other hand, in one example dispensed medicine container 365 mayinclude an amount of medicine that is in excess of an exact dose andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 and discharge any remaining medicine on medicine transfer unit355 back into medicine storage container 320. In such an example,dispensed medicine container 365 is thereby conveyed to first medicinedischarge point 350 and medicine container transfer unit 330 dischargesmedicine from dispensed medicine container 365 onto medicine transferunit 355. Medicine container transfer unit 330 moves dispensed medicinecontainer 365 to second discharge point 380 and operations describedabove are repeated. That is, medicine discharged from dispensed medicinecontainer 365 to medicine transfer unit 355 is thereby conveyed todispensed medicine container 365 until at least a dose of medicine iscontained in dispensed medicine container 365. That is, dispensedmedicine container 365 may include an exact or desired dose, or mayinclude an amount of medicine that is in excess of an exact dose. And,again, if dispensed medicine container 365 includes medicine equal tothe dose, then the medicine in any excess medicine on medicine transferunit 355 is returned to medicine storage container 320. If dispensedmedicine container 365 includes an amount of medicine that is in excessof an exact dose, then operations described above are repeated.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395 and/orweight checking station 360. Dispenser 102 is caused to operate usingsuch feedback to ensure that a correct dose is provided in dispensedmedicine container 365.

Referring now to FIG. 28, a flow diagram of another exemplary process2800 for operating the dispensing unit 102, which may incorporate thesub-assembly 2700, is illustrated. Process 2800 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 2800 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 2800, the medicine container transferunit 330 is referred to as CNC machine. However, it should beappreciated that any medicine container transfer unit 330, forperforming the respective step(s) is contemplated, and that the use ofthe terms CNC machine and robot are not intended to be limiting.

Process 2800 may begin at block 2802 at which the processor 106 may runcalibration and verification logic with calibration and verificationdevice 382 to calibrate or verify weight detecting devices.

At block 2804, the medicine container transfer unit 330 may transfer adispensed medicine container 365 to the second medicine discharge point380 and a medicine storage container from its storage location to firstdischarge point 350.

At block 2806, medicine container transfer unit 330 may dischargemedicine from the medicine storage container 320 onto the conveyor 1105,which may be stationary or moving.

At block 2808, sensor 1110 or other devices may detect medicinedischarged on the conveyor 1105.

At block 2810, medicine container transfer unit 330 may stop dischargingmedicine storage container 320 when medicine on the conveyor 1105 isequal to or greater than a predefined quantity. This may be determinedbased on feedback from sensor 1110, 1105 or other devices. Thepredefined quantity may change during the dispensing process.

At block 2812, the conveyor 1105 may move to discharge medicine fromconveyor 1105 into the dispensed medicine container 365.

At block 2814, a sensor 1115 and/or scale 395 under the dispensedmedicine container 365 and/or weight checking station 360 may detect aquantity of medicine discharged into the dispensed medicine container365.

At block 2816, the conveyor 1105 may stop based on feedback from thesensor 1115 and/or scale 395 and/or weight checking station 360 that thequantity of medicine inside the dispensed medicine container 365 isequal to or greater than the required dosage.

At block 2818, if the medicine inside the dispensed medicine container365 is less than required dosage and there is no medicine on theconveyor, repeats the blocks 2806 to 2816 otherwise go to block 2620.

At block 2820, medicine container transfer unit 330 may transfer thedispensed medicine container 365 to its storage location and medicinestorage container 320 to the second medicine discharge point 380.Conveyor 1105 may begin to discharge all remaining medicine on conveyor1105 into the medicine storage container 320.

At block 2822, the processor 106 may determine if the medicine insidethe dispensed medicine container 365 is equal to the required dosage. Ifso, process 2800 may then end.

At block 2824, the processor 106 may determine if the medicine insidethe dispensed medicine container 365 is greater than the requireddosage. If so, medicine container transfer unit 330 may transfer thedispensed medicine container 365 to the first medicine discharge point350.

At block 2826, medicine container transfer unit 330 may dischargemedicine from the dispensed medicine container 365 onto the conveyor1105.

At block 2828, medicine container transfer unit 330 may transfer thedispensed medicine container 365 to the second medicine discharge point380.

At block 2830, blocks 2810 through 2826 may then be repeated until therequired dosage is dispensed into the dispensed medicine container 365,and all extra medicine, is returned to the medicine storage container320.

Process 2800 may be repeated for the next medicine when required.

In embodiments, weight checking station 360 and/or scale(s) 395, forexample, in each weighing station or storage nests associated with eachcontainer, may check quantity of medicine inside each container involvedin process 2800, e.g., the medicine storage container 320, and thedispensed medicine container 365.

In general, process 2800 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 2800.

FIG. 29A illustrates an exemplary sub-assembly 2900 of the disclosedsystem. Sub-assembly 2900 includes medicine container transfer unit 330having CNC machine 2720 with an end of arm tool 1125. Medicine transferunit 355 includes a robot or conveyor 1105, sensors 1110 and 1115, robot1345 having an end of arm tool 1310, a sensor 1330, and a vacuum head1315. Medicine container transfer unit 330 and robot 1345 may be twodifferent robots, or two different parts of the same one robot.

FIG. 29B is a view of the example of FIG. 29A, showing end of arm tool1310 at medicine discharge position 1325 to discharge medicine intomedicine storage container at discharge position 1320. The end of armtool 1310 may also discharge medicine into medicine storage container atdischarge position 380 (not shown). The end of arm tool 1310 may alsopick up medicine from medicine containers at discharge position 1320 or380 and discharge onto medicine transfer unit 355.

Sub-assembly 2900 is a view of inside elements of dispenser 102 andincludes medicine container transfer unit 330. Sub-assembly 2900includes loading station or medicine container loading station 325,medicine container transfer unit 330, and medicine container storagenest 335. Medicine transfer unit 355 includes, in the illustratedexample, robot 1345 and conveyor 1105 for transporting or otherwiseconveying medicine from first discharge point 350 to second medicinedischarge point 380, and third medicine discharge point 1320, and mayinclude sensors 1110 and 1115. Sub-assembly 2900 includes weightchecking station 360, a calibration and verification device 382 toautomatically calibrate weight detecting devices, and dispensed medicinecontainer 365. Medicine storage container 320 is positioned on medicinecontainer storage device 2388. Weight checking station 360 may havesimilar design as other medicine container storage nest 335 including aweight checking device 395 and attach to the medicine container storagedevice 2388. Weight checking station 360 may be a standalone deviceincluding a regular pharmacy scale or pharmacy balance.

FIG. 29A is an illustration of exemplary sub-system 2900, and FIG. 29Bof the exemplary system of FIG. 29A shows end of arm tool 1310 atmedicine discharging position. Medicine storage container 320 mayinclude original medicine container 390, medicine containeridentification unit 385, weight detecting device 395, and medicinecontainer storage nest 335. Weight detecting device 395 and medicinecontainer storage nest 335 may be integrated together. Weight detectingdevice 395 and medicine container storage nest 335 may also be part ofcontainer storage device 2388. Weight detecting device 395 may be ascale, a load cell, a balance, or other device for measuring weight,according to the disclosure. Weight detecting device 395 and medicinecontainer storage nest 335 are positioned on medicine container storagedevice 2388 at each of the illustrated locations. Medicine containeridentification unit 385 may include identification informationparticular to a given medicine, and may also identify an amount ofmedicine that may constitute a single patient dose particular to a givenuser of dispenser 102.

Referring still to FIG. 29A, medicine storage container 320 may beloaded into dispenser 102 from medicine container loading station 325,and medicine storage container 320 is transferred to its storageposition on medicine container storage device 2388 by medicine containertransfer unit 330. Medicine storage container 320 may include medicinein the form of a pill or a capsule, as examples, and a dose of medicinefor a user may include one or more of the pills or capsules. Medicinecontainer transfer unit 330 is illustrated as having CNC machine 2720that includes X axis 2730, Y axis 2740, Z axis 2750, and an end of armtool (EOAT) 1125, but may instead include a conveyor, a robot, or anydevice that can move medicine storage container 320 from one position toanother, and discharge medicine from medicine storage container 320.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380 or 1320. Medicine transfer unit 355 may have a linear movingsurface such as a walking beam, a conveyor, a vibrating feeder, or arotating surface such as a rotating disc or other shape, and includes inthe illustrated example conveyor 1105 and robot 1345.

In operation, as shown in FIGS. 29A and 29B, dispenser 102 moves, viamedicine container transfer unit 330, dispensed medicine container 365to second medicine discharge point 380 and medicine storage container320 to first medicine discharge point 350. Medicine storage container320 is, in one example, a medicine storage container which may have anamount of medicine that is in excess of a dose, or an amount of medicinethat is desired to be distributed into dispensed medicine container 365.Medicine container transfer unit 330 turns medicine storage container320 such that a predetermined amount of medicine spills or otherwisepours from medicine storage container 320 onto medicine transfer unit355, as determined by sensor or medicine weight detecting device. Whendispensed medicine container 365 is positioned at medicine dischargepoint 380, and when medicine has been discharged onto medicine transferunit 355, medicine transfer unit 355 thereby conveys the dischargedmedicine from medicine transfer unit 355 into dispensed medicinecontainer 365 until at least a second predetermined amount of medicineis contained in dispensed medicine container 365, as determined byweight checking station 360 and/or weight detecting device 395 andmedicine container storage nest 335, which weigh and transmit weightinformation to for instance a controller of dispenser 102.

Medicine transfer unit 355 includes robot 1345 and conveyor 1105, andsensors 1110 and 1115, which monitor medicine positioned on medicinetransfer unit 355 and on conveyor 1105. Sensors 1110, 1115 may beoptical sensors that are coupled, electrically or optically as examples,to processor 106. As such, processor 106 monitors an amount of medicinepositioned on medicine transfer unit 355 via sensors 1110, 1115. Sensors1110 and 1115 detect the presence of pills or capsules as they passthereby via medicine transfer unit 355 to second medicine dischargepoint 380. In addition, robot 1345 includes end of arm tool 1310 havingvacuum head 1315 that may attach via a vacuum, controlled by processor106, to individual pills or capsules passing along medicine transferunit 355. Accordingly, in this example, pills or capsules may be notonly conveyed by conveyor 1105 to dispensed medicine container 365 whenpositioned at medicine discharge point 380, but also conveyed by robot1345 to dispensed medicine container 365 when positioned at medicinedischarge point 380. Pills or capsules may also be conveyed by robot1345 to dispensed medicine container 365 positioned at position 1320.Pills or capsules may also be conveyed by robot 1345 from dispensedmedicine container 365 at discharge point 380 or 1320 back to themedicine transfer unit 355. Both methods may be used concurrently orseparately. Thus, movement of pills or capsules may be improved byhaving an ability to move pills or capsules to and/or from two locationssimultaneously.

Medicine is transferred from medicine transfer unit 355 into dispensedmedicine container 365, and a weight of the medicine is determined viaweight detecting device 395 and/or weight checking station 360. If themeasured weight is less than a predetermined amount, and if medicine isstill on medicine transfer unit 355 (i.e., has not been fullydischarged), then medicine transfer unit 355 further conveys moremedicine into dispensed medicine container 365. On the other hand, if nomedicine is on medicine transfer unit 355, then additional medicine isdischarged to medicine transfer unit 355 from medicine storage container320. The process of discharging from medicine storage container 320 tomedicine transfer unit 355, and from medicine transfer unit 355 todispensed medicine container 365 continues until at least apredetermined amount of medicine is contained in dispensed medicinecontainer 365. That is, dispensed medicine container 365 may include anexact or desired dose, or may include an amount of medicine that is inexcess of an exact dose.

If an exact dose is present in dispensed medicine container 365 andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320.

On the other hand, in one example dispensed medicine container 365 mayinclude an amount of medicine that is in excess of an exact dose andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320. In such an example, dispensed medicine container365 is thereby conveyed to first medicine discharge point 350 andmedicine container transfer unit 330 discharges medicine from dispensedmedicine container 365 onto medicine transfer unit 355. Then medicinecontainer transfer unit 330 may move medicine container 365 to seconddischarge point 380 and operations described above are repeated. Thatis, medicine discharged from dispensed medicine container 365 tomedicine transfer unit 355 is thereby conveyed to dispensed medicinecontainer 365 until at least the exact dose is present in dispensedmedicine container 365. And, again, if dispensed medicine container 365includes medicine equal to the dose, then any excess medicine onmedicine transfer unit 355 is returned to medicine storage container320. On the other hand, in one example dispensed medicine container 365may include an amount of medicine that is in excess of an exact dose. Insuch an example, operations described above are repeated. That is,medicine container transfer unit 330 discharges medicine from dispensedmedicine container 365 onto medicine transfer unit 355 and medicinetransfer unit 355 discharges medicine into dispensed medicine container365.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395 and/orweight checking station 360. Dispenser 102 is caused to operate usingsuch feedback to ensure that a correct dose is provided in dispensedmedicine container 365. However, in the illustrated example, medicine,in this example, may be conveyed to and from dispensed medicinecontainer 365 positioned at discharge position 1320 and 380 in bothdirections, allowing simultaneous or sequential iterations using twocontainers and two conveying methods in both directions, which may allowconvergence to a final dose, and movement of any additional medicinefrom medicine transfer unit 355 via a second path (i.e., via vacuum head1315, for containers positioned at position 1320 and 380).

Referring now to FIG. 30, a flow diagram of another exemplary process3000 for operating the dispensing unit 102, which may incorporate thesub-assembly 2900, is illustrated. Process 3000 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 3000 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 3000, the medicine container transferunit 330 is referred to as CNC machine. However, it should beappreciated that any medicine container transfer unit 330 for performingthe respective step(s) is contemplated, and that the use of the termsCNC machine and robot are not intended to be limiting.

Process 3000 may begin at block 3002 at which the processor 106 may runcalibration and verification logic with calibration and verificationdevice 382 to calibrate or verify weight detecting devices.

At block 3004, the medicine container transfer unit 330 may transfer adispensed medicine container 365 to the second medicine discharge point380 and medicine storage container 320 to the first discharge point 350.

At block 3006, medicine container transfer unit 330 may dischargemedicine from the medicine storage container 320 onto the conveyor 1105,which may be stationary or moving.

At block 3008, sensor 1110 or other devices may detect medicinedischarged on the conveyor 1105.

At block 3010, medicine container transfer unit 330 may stop dischargingmedicine storage container 320 when medicine on the conveyor 1105 isequal to or greater than a predefined quantity. This may be determinedbased on feedback from sensor 1110 or other devices.

At block 3012, the conveyor 1105 may vibrates to spread out medicineevenly and may move to discharge medicine from conveyor 1105 intodispensed medicine container 365.

At block 3014, a sensor 1115 and/or scale 395 under the dispensedmedicine container 365 and/or weight checking station 360 may detect aquantity of medicine discharged into the dispensed medicine container365. The conveyor 1105 is stopped based on feedback from the sensor 1115and/or scale 395 and/or weight checking station 360 that the quantity ofmedicine inside the dispensed medicine container 365 is equal to orgreater than a predetermined amount.

At block 3016, robot 1345 may move from a home position until sensor1330 detects medicine, after which robot 1345 may stop.

At block 3018, vacuum head 1315 may descend to pick up the medicine andthen vacuum head 1315 may return to its original position.

At block 3020, robot 1345 may move to discharge the medicine on thevacuum head 1315 into the dispensed medicine container 365. Robot 1345may also pick up medicine from dispensed medicine container 365 anddischarges onto the medicine transfer unit 355.

At block 3022, processor 106 may determine if any medicine remains onthe conveyor 1105. If not, and the medicine inside dispensed medicinecontainer 365 is still less than required dosage, blocks 3006 through3020 may be repeated.

At block 3024, processor 106 may determine if the medicine in thedispensed medicine container 365 has reached the required dosage. If ithas, then process 3000 may proceed to block 3026. If it has not, andthere is no medicine left along the pathway of the motion of robot 1345,conveyor 1105 move forward until sensor 1115 detects medicine, thenprocess 3000 may repeat blocks 3016 to 3022 until the required dosagehas been reached, after which process 3000 may proceed to block 3026.

At block 3026, medicine container transfer unit 330 may transfer themedicine storage container 320 to the medicine discharge point 380, anddischarge all remaining medicine on the conveyor 1105 into the medicinestorage container 320.

At block 3028, if the required dosage is inside of the dispensedmedicine container 365, process 3000 may then end.

At block 3030, if the medicine inside dispensed medicine container 365is great than required dosage, move the dispensed medicine container 365to discharging point 350 and discharge medicine from the dispensedmedicine container 365 onto conveyor 1105.

At block 3032, the medicine container transfer unit 330 may transfer adispensed medicine container 365 to the second medicine discharge point380 and repeat blocks 3012 to 3030.

Process 3000 may be repeated for the next medicine when required orprocess 3000 may end.

In embodiments, weight checking station 360 and/or scale(s) 395, forexample, in each weighing station or storage nests associated with eachcontainer, may check quantity of medicine inside each container involvedin process 3000.

In general, process 3000 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 3000.

FIG. 31A illustrates an exemplary sub-assembly 3100 of dispenser 102with a conveyor, a robot, a vacuum head (mounted on the same robot or adifferent robot), a vision system, and CNC machine. In this examplemedicine container transfer unit 330 includes CNC machine 2720 with endof arm tool 1125, medicine transfer unit 355 includes conveyor 1105,sensors 1110 and 1115, robot 1345 with end of arm tool 1310, sensor1330, vacuum head 1315, and a machine vision system 1505 coupled toprocessor 106 and configured to output a visual location and images ofitems, such pills or capsules, of dispenser 102. CNC machine 2720 androbot 1345 may be two different robots, or two different parts of thesame one robot.

FIG. 31B is a view of the example of FIG. 31A, showing end of arm tool1310 at medicine discharge position 1325 to discharge medicine intomedicine storage container at discharge position 1320. The end of armtool 1310 may also discharge medicine into medicine storage container atdischarge position 380 (not shown). The end of arm tool 1310 may alsopick up medicine from medicine containers at discharge position 1320 or380 and discharge onto medicine transfer unit 355.

Sub-assembly 3100 is a view of inside elements of dispenser 102 andincludes a CNC machine. Sub-assembly 3100 includes loading station ormedicine container loading station 325, medicine container transfer unit330, and medicine container storage nest 335. Medicine transfer unit355, in the illustrated example, may include robot 1345 and conveyor1105 for transporting or otherwise conveying medicine from firstmedicine discharge point 350 to second medicine discharge point 380 andthird medicine discharge point 1320, and may include sensors 1110 and1115. Sub-assembly 3100 includes weight checking station 360, acalibration and verification device 382 to automatically calibrateweight detecting devices, and dispensed medicine container 365. Medicinestorage container 320 is positioned on container storage device 2388.Weight checking station 360 may have similar design as other medicinecontainer storage nest 335 including a weight checking device 395 andattach to the medicine container storage device 2388. Weight checkingstation 360 may be a standalone device including a regular pharmacyscale or pharmacy balance.

FIG. 31A is an illustration of medicine storage container 320 aspositioned on medicine container storage device 2388, and FIG. 31B ofthe exemplary system of FIG. 31A shows end of arm tool 1310 at medicinedischarge position 1325. Medicine storage container 320 may includeoriginal medicine container 390, medicine container identification unit385, weight detecting device 395, and medicine container storage nest335. Weight detecting device 395 and medicine container storage nest 335may be integrated together. Weight detecting device 395 and medicinecontainer storage nest 335 may also be part of medicine containerstorage device 2388. Weight detecting device 395 may be a scale, a loadcell, a balance, or other device for measuring weight, according to thedisclosure. Weight detecting device 395 and medicine container storagenest 335 are positioned on medicine container storage device 2388 ateach of the illustrated locations. Medicine container identificationunit 385 may include identification information particular to a givenmedicine, and may also identify an amount of medicine that mayconstitute a single patient dose particular to a given user of dispenser102.

Referring still to FIG. 31A, medicine storage container 320 may beloaded into dispenser 102 from medicine container loading station 325,and medicine storage container 320 is transferred to its storageposition on medicine container storage device 2388 by medicine containertransfer unit 330. Medicine storage container 320 may include medicinein the form of a pill or a capsule, as examples, and a dose of medicinefor a user may include one or more of the pills or capsules. Medicinecontainer transfer unit 330 is illustrated as having CNC machine 2720that includes X axis 2730, Y axis 2740, Z axis 2750, and an end of armtool 1125, but may instead include a conveyor, a robot, or any devicethat can move medicine storage container 320 from one position toanother.

Medicine transfer unit 355 moves medicine from one position to another,accepts medicine from medicine storage container 320, and medicinetransfer unit 355 also discharges medicine into medicine storagecontainer 320 or any container when positioned at medicine dischargepoint 380 and/or 1320.

In operation, as shown in FIGS. 31A and 31B, dispenser 102 moves, viamedicine container transfer unit 330, medicine storage container 320 tofirst medicine discharge point 350. Medicine storage container 320 is,in one example, a medicine storage container which may have an amount ofmedicine that is in excess of a dose, or an amount of medicine that isdesired to be distributed into dispensed medicine container 365.Medicine container transfer unit 330 turns medicine storage container320 such that a predetermined amount of medicine spills or otherwisepours from medicine storage container 320 onto medicine transfer unit355, as determined by sensors or medicine detecting device. Medicinecontainer transfer unit 330 moves dispensed medicine container 365 tosecond medicine discharge point 380. When dispensed medicine container365 is positioned at medicine discharge point 380, and when medicine hasbeen discharged onto medicine transfer unit 355, medicine transfer unit355 thereby conveys the discharged medicine from medicine transfer unit355 into dispensed medicine container 365 until at least a secondpredetermined amount of medicine is contained in dispensed medicinecontainer 365, as determined by weight checking station 360 and/orweight detecting device 395 and medicine container storage nest 335,which weigh and transmit weight information to for instance a controllerof dispenser 102.

Medicine transfer unit 355 includes robot 1345 and conveyor 1105, andsensors 1110 and 1115, which monitor medicine positioned on medicinetransfer unit 355 and on conveyor 1105. Sensors 1110, 1115 may beoptical sensors that are coupled, electrically or optically as examples,to processor 106. As such, processor 106 monitors an amount of medicinepositioned on medicine transfer unit 355 via sensors 1110, 1115. Sensors1110 and 1115 detect the presence of pills or capsules as they passthereby via medicine transfer unit 355 to second medicine dischargepoint 380. In addition, robot 1345 includes end of arm tool 1310 havingvacuum head 1315 that may attach via a vacuum, controlled by processor106, to individual pills or capsules passing along medicine transferunit 355. Accordingly, in this example, pills or capsules may be notonly conveyed by conveyor 1105 to dispensed medicine container 365 whenpositioned at medicine discharge point 380, but also conveyed by robot1345 to dispensed medicine container 365 when positioned at medicinedischarge point 380. Pills or capsules may also be conveyed by robot1345 to dispensed medicine container 365 positioned at position 1320.Pills or capsules may also be conveyed by robot 1345 from dispensedmedicine container 365 at discharge point 380 or 1320 back to themedicine transfer unit 355. Both methods may be used concurrently orseparately. Thus, overall efficiency or movement of pills or capsulesmay be improved by having an ability to move pills or capsules to twolocations simultaneously.

Medicine is transferred from medicine transfer unit 355 into dispensedmedicine container 365, and a weight of the medicine is determined viaweight detecting device 395 and/or medicine checking station 360. If themeasured weight is less than a given or desired dose, and if medicine isstill on medicine transfer unit 355 (i.e., has not been fullydischarged), then medicine transfer unit 355 further conveys moremedicine into dispensed medicine container 365. On the other hand, if nomedicine is on medicine transfer unit 355, then additional medicine isdischarged to medicine transfer unit 355 from medicine storage container320. The process of discharging from medicine storage container 320 tomedicine transfer unit 355, and from medicine transfer unit 355 todispensed medicine container 365 continues until at least a dose ofmedicine is contained in dispensed medicine container 365. That is,dispensed medicine container 365 may include an exact or desired dose,or may include an amount of medicine that is in excess of an exact dose.

If an exact dose is present in dispensed medicine container 365 andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320. The process 3100 may end after this step.

On the other hand, in one example dispensed medicine container 365 mayinclude an amount of medicine that is in excess of an exact dose andmedicine is still on the medicine transfer unit 355, then dispenser 102operates to convey medicine storage container 320 to second dischargepoint 380 via medicine container transfer unit 330 and discharge anyremaining medicine on medicine transfer unit 355 back into medicinestorage container 320. In such an example, dispensed medicine container365 is thereby conveyed to first medicine discharge point 350 andmedicine container transfer unit 330 discharges medicine from dispensedmedicine container 365 onto medicine transfer unit 355. Then medicinecontainer transfer unit 330 may move medicine container 365 to seconddischarge point 380 and operations described above are repeated. Thatis, medicine discharged from dispensed medicine container 365 tomedicine transfer unit 355 is thereby conveyed to dispensed medicinecontainer 365 until at least the exact dose is present in dispensedmedicine container 365. And, again, if dispensed medicine container 365includes medicine equal to the dose, then any excess medicine onmedicine transfer unit 355 is returned to medicine storage container320. On the other hand, in one example dispensed medicine container 365may include an amount of medicine that is in excess of an exact dose. Insuch an example, operations described above are repeated. That is,medicine container transfer unit 330 discharges medicine from dispensedmedicine container 365 onto medicine transfer unit 355 and medicinetransfer unit 355 discharges medicine into dispensed medicine container365.

The aforementioned steps continue until a dose of medicine is containedwithin dispensed medicine container 365, and any additional medicine isreturned to medicine storage container 320. In such fashion, dispenser102 includes a feedback mechanism, ensuring a proper dose, and only aproper dose, is contained in dispensed medicine container 365. That is,feedback is provided in the form of a weight of pills or capsules,corresponding to a dose, measured via weight detecting device 395 and/orweight checking station 360. Dispenser 102 is caused to operate usingsuch feedback to ensure that a correct dose is provided in dispensedmedicine container 365. However, in the illustrated example, medicine,in this example, may be conveyed to and from dispensed medicinecontainer 365 positioned at discharge position 1320 and 380 in bothdirections, allowing simultaneous or sequential iterations using twocontainers and two conveying methods in both directions, which may allowconvergence to a final dose, and movement of any additional medicinefrom medicine transfer unit 355 via a second path (i.e., via vacuum head1315, for containers positioned at position 1320 and 380). Additionally,vision system 1505 provides yet additional functionality, in that visionsystem 1505 may convey an image of pills or capsules passing alongmedicine transfer unit 355, providing a visual representation and errorchecking of the pills or capsules, and an additional method ofidentifying the movement thereof into dispensed medicine container 365.Processor 106 may compare these images with images stored in database122 to make sure correct medicine is dispensed.

Referring now to FIG. 32, a flow diagram of another exemplary process3200 for operating the dispensing unit 102, which may incorporate thesub-assembly 3200, is illustrated. Process 3200 may include operationsthat may be part of program 110, stored on memory 108, and/or executedby processor 106. Process 3200 may take many different forms and includemultiple and/or alternate steps. While an exemplary process is shown,the exemplary steps illustrated are not intended to be limiting. Indeed,additional or alternative steps and/or implementations may be used. Inaddition, for purposes of process 3200, the medicine container transferunit 330 is referred to as CNC machine. However, it should beappreciated that any medicine container transfer unit 330 for performingthe respective step(s) is contemplated, and that the use of the termsCNC machine and robot are not intended to be limiting.

Process 3200 generally may be the same as or similar to process 3000,but may differ in the incorporation of the vision system 1505.

Process 3200 may begin at block 3202 at which the processor 106 may runcalibration and verification logic with calibration and verificationdevice 382 to calibrate or verify weight detecting devices.

At block 3204, the medicine container transfer unit 330 may transfer adispensed medicine container 365 to the second medicine discharge point380 and a medicine storage container 320 to a first medicine dischargepoint 350.

At block 3206, medicine container transfer unit 330 may dischargemedicine from the medicine storage container 320 onto the conveyor 1105,which may be stationary or moving.

At block 3208, medicine container transfer unit 330 may stop dischargingmedicine storage container 320 when medicine on the conveyor 1105 isequal to or greater than a predefined quantity. The predefined quantitymay change during the dispensing process. This may be determined basedon feedback from sensor 1110, 1115 or other devices.

At block 3210, the conveyor 1105 vibrates to spread out medicine evenlyand vision system 1505 may take pictures of medicine on the conveyor1105 and process images to compare images stored in databases todetermine correct medicine is dispensed.

At block 3212, the conveyor 1105 may move to discharge medicine fromconveyor 1105 into dispensed medicine container 365.

At block 3214, a sensor 1115 and/or scale 395 under the dispensedmedicine container 365 and/or weight checking station 360 may detect aquantity of medicine discharged into the dispensed medicine container365. The conveyor 1105 is stopped based on feedback from the sensor 1115and/or scale 395 and/or weight checking station 360 that the quantity ofmedicine inside the dispensed medicine container 365 is equal to orgreater than a predetermined amount. This predetermined amount may bedifferent from the one in block 3208 and may change during thedispensing process. Conveyor 1105 may also stop when the vision system1505 gives instructions.

At block 3216, the vision system 1505 may take pictures of medicine onthe conveyor 1105 and process the images to determine locations of themedicine on the conveyor 1105 under robot 1345.

At block 3218, the processor 106 and the vision system 1505 may worktogether to guide conveyor 1105 and robot 1345 movements to align vacuumhead 1315 and a piece of medicine to be picked up.

The remaining blocks 3220 through 3234 may correspond with blocks 3018through 3032 of process 3000.

Process 3200 may be repeated for the next medicine when required or theprocess 3200 may end.

In embodiments, weight checking station 360 and/or scale(s) 395, forexample, in each weighing station or storage nests associated with eachcontainer, may check quantity of medicine inside each container involvedin process 3200.

In general, process 3200 may be a closed feedback loop process withstable and fast convergent iterations. In addition, the processor 106may communicate with, i.e., send commands to, receive data from, and thelike, to various components of the dispensing unit 102 and/or system 500to perform process 3200.

FIG. 33 illustrates an exemplary sub-assembly 3300 including, e.g. thecontainer transfer unit 330. The container transfer unit 330 may includeCNC machine 2720, end of arm tool 1125, and container storage device2388. In this example CNC machine 2720 may include X axis 2730, Y axis2740, and Z axis 2750. The container storage device 2388 may be attachedto Y axis 2740. Medicine container transfer unit 330 is illustrated ashaving a CNC machine 2720, but may instead include a conveyor, a robot,or any device that can move medicine storage container 320 from oneposition to another, and discharge medicine from medicine storagecontainer 320. The Y axis 2740 is illustrated as a sub system of the CNCmachine 2720, but may be a different machine working with the CNCmachine 2720 and may have many different forms and designs, including aplatform, a container of any shape, a shelf, a conveyor, a carousel, arobot, a walking beam, a dial table, a rotary table, a sub assembly, andany device that can move medicine storage container 320.

In operation, X axis 2730 may move the EOAT along the x direction. Yaxis 2740 may move container storage device 2388 along y direction tochange position of containers in y direction. X axis 2730 and Y axis2740 may work together to move medicine container and EOAT 1125 to alignthe container and EOAT 1125. Y axis 2740 may move container storagedevice 2388 to a required y coordinate for an intended container toalign the intended container with the X axis 2730. X axis 2730 may moveEOAT 1125 to a required x coordinate to align EOAT 1125 with theintended container. Then Z axis may move to pick up or release ormanipulate the intended container.

FIG. 34 illustrates an exemplary sub-assembly 3400 including, e.g. thecontainer transfer unit 330 and container storage device 2388. Thecontainer transfer unit 330 may include CNC machine 3410 and EOAT 1125.In this example CNC machine 3410 may include X axis 3420, Y axis 3430,and Z axis 3440. The container storage device 2388 may be independentfrom CNC machine movement. The container storage device 2388 may bestationary or movable.

In operation, X axis 3420 and Y axis 3430 may work together to move EOAT1125 to align EOAT 1125 with an intended container. X axis 3420 may moveEOAT 1125 to a required x coordinate and Y axis 3430 may move EOAT 1125to a required y coordinate to align EOAT 1125 with the intendedcontainer. Then Z axis moves to pick up or release or manipulate theintended container.

FIG. 35 illustrates an exemplary sub-assembly 3500 including, e.g. thecontainer transfer unit 330 and container storage device 2388. Thecontainer transfer unit 330 may include multi DOF (degree of freedom)robot 3510 and EOAT 1125. In this example the robot may include a 6 DOFrobot. The container storage device 2388 may be independent from robotmovement. The container storage device 2388 may be stationary ormovable.

In operation, robot 3510 may move EOAT 1125 to required X, Y, Zcoordinates to align EOAT 1125 with an intended container and to pick upor release or manipulate the intended container.

Systems and methods are provided for dispensing medication in dosagesthat comply with a medicine regimen. An exemplary system and method mayinclude operations and/or instructions comprising dispensing medicinefrom a first medicine container to a transfer device; dispensingmedicine from the transfer device to a second medicine container,monitoring a medicine distribution relative to the first medicinecontainer by way of a first sensor, the second medicine container by wayof a second sensor, and the transfer device by way of a third sensor;and automatically adjusting the medicine distribution among the firstmedicine container, the second medicine container, and the transferdevice.

A system for dispensing medication includes a medicine container storagedevice having a plurality of weight check station, a medicine containertransfer unit positioned proximate the medicine container storagedevice, the medicine container transfer unit configured to engage amedicine storage container positioned on one of the weight checkstations and move the medical storage container to a first dischargepoint, and a medicine transfer unit positioned proximate the medicinecontainer transfer unit such that medicine discharged from the medicinestorage container at the first discharge point is discharged onto themedicine transfer unit, and medicine on the medicine transfer unit isdischarged from the medicine transfer unit at a second discharge point,the medicine transfer unit having a sensor to estimate how much medicineis on the medicine transfer unit. The system also includes a dispensedmedicine container positioned on one of the weight check stations at thesecond discharge point to receive the medicine discharged from themedicine transfer unit and a controller. The controller is configured tocause the medicine storage container to discharge at least a firstpredetermined amount of medicine from the medicine storage containeronto the medicine transfer unit, cause the medicine transfer unit todischarge at least a second predetermined amount of medicine todispensed medicine container, determine whether the dispensed medicinecontainer has an amount of medicine greater than a desired single dose,and if the amount of medicine in dispensed medicine container is greaterthan the desired single dose, then move the dispensed medicine containerto the first discharge point via the medicine container transfer unit,and discharge medicine from dispensed medicine container, onto themedicine transfer unit, then move the dispensed medicine container tothe second discharge point and discharge medicine from the medicinetransfer unit into the dispensed medicine container.

The controller is further configured to move the dispensed medicinecontainer to the first discharge position, and discharge medicine fromthe dispensed medicine container onto the medicine transfer unit andmove the dispensed medicine container to the second discharge point anddischarge from the medicine transfer unit into the dispensed medicinecontainer until at least the desired single dose of medicine is presentin the dispensed medicine container.

It will be appreciated by those skilled in the art that the presentinvention may be embodied in other specific forms without departing fromthe spirit or essential character thereof. The described embodiments aretherefore considered in all respects to be illustrative not restrictive.The scope of the invention is indicated by the appended clauses, not theforegoing description, and all changes that come within the meaning andrange of equivalents thereof are intended to be embraced therein.

What is claimed is:
 1. A medication dispensing system comprising: amedicine transfer device configured to transfer medicine between a firstcontainer and a second container, wherein the first container isconfigured to initially store medicine; and a controller configured todetermine a first predetermined amount of medicine to be dispensed fromthe medicine dispensing system, cause the medicine transfer device to(i) discharge at least a second predetermined amount of the medicinefrom the first container onto the medicine transfer device, and (ii)transfer at least a third predetermined amount of the medicine from themedicine transfer device to the second container, subsequent to thetransfer of the third predetermined amount of the medicine, determinewhether the second container has greater than or equal to the firstpredetermined amount of the medicine, and if the second container hasless than the first predetermined amount of the medicine, cause themedicine transfer device to at least one of (i) transfer at least aportion of the medicine on the medicine transfer device into the secondcontainer, or (ii) discharge at least a portion of the medicine in thefirst container onto the medicine transfer device.
 2. The medicationdispensing system of claim 1, wherein the controller is configured to,if the second container does not have the first predetermined amount ofthe medicine, discharge medicine remaining on the medicine transferdevice into the first container prior to discharging the at least aportion of the medicine in the second container onto the medicinetransfer device.
 3. The medication dispensing system of claim 1,wherein: the second predetermined amount of the medicine is greater thanor equal to the first predetermined amount of the medicine; and thethird predetermined amount of the medicine is greater than or equal tothe first predetermined amount of the medicine and less than or equal tothe second predetermined amount of the medicine.
 4. The medicationdispensing system of claim 1, wherein the controller is configured to,until the second container has the first predetermined amount of themedicine, iteratively perform a plurality of operations including atleast one of: discharging medicine remaining on the medicine transferdevice into the first container; discharging at least a portion of themedicine in the second container onto the medicine transfer device; andtransferring at least a portion of the medicine on the medicine transferdevice into the second container.
 5. The medication dispensing system ofclaim 4, wherein for each iteration of the plurality of operationsincludes discharging less medicine from the medicine transfer deviceinto the second container than during the previous iteration.
 6. Themedication dispensing system of claim 1, wherein the medicine transferdevice comprises at least one of a conveyor or a rotating table.
 7. Themedication dispensing system of claim 1, further comprising a containertransfer device configured to move the first container and the secondcontainer between a first station and a second station, wherein: thefirst container is (i) at the first station while discharging medicineonto the medicine transfer device, and (ii) at the second station whilethe medicine transfer device is transferring medicine into the firstcontainer; and the second container is (i) at the first station whiledischarging medicine onto the medicine transfer device, and (ii) at thesecond station while the medicine transfer device is transferringmedicine into the second container.
 8. The medication dispensing systemof claim 7, wherein the container transfer device comprises at least oneof a computer numerical control machine, a carousel or a robot.
 9. Themedication dispensing system of claim 1, further comprising: a containertransfer device configured to move the first container and the secondcontainer between a first station and a second station; and a deviceconfigured to generate a signal, wherein the signal is indicative of atleast one of (i) an amount of medicine on the medicine transfer device,or (ii) whether medicine remains on the medicine transfer device, andthe controller is configured to, based on the signal, at least one of(i) discharge the at least a portion of the medicine in the firstcontainer onto the medicine transfer device, (ii) transfer the at leasta portion of the medicine on the medicine transfer device into thesecond container, (iii) transfer the medicine remaining on the medicinetransfer device to the first container, or (iv) discharge the at least aportion of the medicine in the second container onto the medicinetransfer device.
 10. The medication dispensing system of claim 1,further comprising a device configured to generate a signal, wherein:the signal is indicative of an amount of medicine in at least one of thefirst container or the second container; and the controller isconfigured to, based on the signal, at least one of (i) discharge the atleast a portion of the medicine in the first container onto the medicinetransfer device, (ii) transfer the at least a portion of the medicine onthe medicine transfer device into the second container, (iii) transferthe medicine remaining on the medicine transfer device to the firstcontainer, or (iv) discharge the at least a portion of the medicine inthe second container onto the medicine transfer device.
 11. Themedication dispensing system of claim 1 further comprising a pluralityof devices configured to generate a plurality of signals, wherein: theplurality of signals are indicative of amounts of medicine at least oneof in the first container, in the second container, or on the medicinetransfer device; and the controller is configured to, based on thesignals, at least one of (i) discharge the at least a portion of themedicine in the first container onto the medicine transfer device, (ii)transfer the at least a portion of the medicine on the medicine transferdevice into the second container, (iii) transfer the medicine remainingon the medicine transfer device to the first container, or (iv)discharge the at least a portion of the medicine in the second containeronto the medicine transfer device.
 12. A medication dispensing systemcomprising: a container transfer device configured to move a firstcontainer and a second container to transfer medicine between the firstcontainer and the second container, wherein the first container isconfigured to initially store the medicine; and a controller configuredto determine a first predetermined amount of medicine to be dispensedfrom the medicine dispensing system, cause the container transfer deviceto discharge at least a second predetermined amount of the medicine fromthe first container into the second container, subsequent to thedischarge of the at least the second predetermined amount of themedicine, determine whether the second container has greater than orequal to the first predetermined amount of the medicine, and if thesecond container does not have the first predetermined amount of themedicine, cause the container transfer device to discharge a portion ofthe medicine in the second container into the first container.
 13. Themedication dispensing system of claim 12, wherein the secondpredetermined amount of the medicine is greater than or equal to thefirst predetermined amount of the medicine.
 14. The medicationdispensing system of claim 12, wherein the controller is configured to,until the second container has the first predetermined amount of themedicine, iteratively perform a plurality of operations including:determining whether the second container has the first predeterminedamount of the medicine; and if the second container does not have thefirst predetermined amount of the medicine, at least one of (i)transferring a portion of the medicine in the first container into thesecond container, or (ii) transferring a portion of the medicine in thesecond container into the first container.
 15. The medication dispensingsystem of claim 14, wherein for each iteration of the plurality ofoperations includes at least one of (i) transferring less medicine fromthe first container into the second container than during a previousiteration, or (ii) transferring less medicine from the second containerinto the first container than during the previous iteration.
 16. Themedication dispensing system of claim 12, wherein the container transferdevice comprises at least one of a computer numerical control machine, acarousel or a robot.
 17. The medication dispensing system of claim 12,further comprising a device configured to generate a signal, wherein:the signal is indicative of an amount of medicine in at least one of thefirst container or the second container; and the controller isconfigured to, based on the signal, transfer the portion of the medicinebetween the second container and the first container.
 18. The medicationdispensing system of claim 12, further comprising a plurality of devicesconfigured to generate a plurality of signals, wherein: the plurality ofsignals are indicative of amounts of medicine in at least one of thefirst container or the second container; and the controller isconfigured to, based on the signals, at least one of (i) discharge theportion of the medicine in the second container into the firstcontainer, or (ii) discharge a portion of the medicine in the firstcontainer into the second container.
 19. A medication dispensing systemcomprising: a container transfer device configured to move containers totransfer medicine between containers, wherein the containers include afirst container and a second container, and wherein the first containeris configured to initially store the medicine; and a controllerconfigured to determine a first predetermined amount of the medicine tobe dispensed from the medicine dispensing system, cause to discharge atleast a second predetermined amount of the medicine from the firstcontainer into the second container, subsequent to the discharge of theat least the second predetermined amount of the medicine, determinewhether the second container has greater than or equal to the firstpredetermined amount of the medicine, and if the second container doesnot have the first predetermined amount of the medicine, at least one oftransfer a portion of the medicine in the second container into thefirst container or a third container.
 20. The medication dispensingsystem of claim 19, wherein the controller is further configured to,until at least one of the second container or the third container hasthe first predetermined amount of the medicine, iteratively perform aplurality of operations including: determining whether at least one ofthe second container or the third container has the first predeterminedamount of the medicine; and if neither of the second container or thethird container has the first predetermined amount of the medicine, atleast one of (i) transferring a portion of the medicine in the firstcontainer into the second container, (ii) transferring a portion of themedicine in the first container into the third container, (iii)transferring a portion of the medicine in the second container into thefirst container, (iv) transferring a portion of the medicine in thesecond container into the third container, (v) transferring a portion ofthe medicine in the third container into the first container, or (vi)transferring a portion of the medicine in the third container into thesecond container.
 21. A medication dispensing system comprising: amedicine transfer device configured to transfer medicine betweencontainers, wherein the containers include a first container and asecond container, and wherein the first container is configured toinitially store medicine; and a controller configured to determine afirst predetermined amount of medicine to be dispensed from the medicinedispensing system, cause the medicine transfer device to (i) dischargeat least a second predetermined amount of the medicine from the firstcontainer onto the medicine transfer device, and (ii) transfer at leasta third predetermined amount of the medicine from the medicine transferdevice to the second container, subsequent to the transfer of the thirdpredetermined amount of the medicine, determine whether the secondcontainer has greater than or equal to the first predetermined amount ofthe medicine, and if the second container has less than the firstpredetermined amount of the medicine, cause the medicine transfer deviceto at least one of (i) transfer at least a portion of the medicine onthe medicine transfer device into the second container, or (ii)discharge at least a portion of the medicine in the first container ontothe medicine transfer device.
 22. The medication dispensing system ofclaim 21, wherein the controller is configured to, if the secondcontainer does not have the first predetermined amount of the medicine,at least one of (i) discharge the medicine on the medicine transferdevice into the first container, (ii) discharge at least a portion ofthe medicine in the second container onto the medicine transfer device,(iii) discharge at least a portion of the medicine in the firstcontainer onto the medicine transfer device, or (iv) discharge at leasta portion of the medicine on the medicine transfer device into a thirdcontainer.
 23. The medication dispensing system of claim 21, wherein thecontroller is further configured to, until at least one of the secondcontainer or a third container has the first predetermined amount of themedicine, iteratively perform a plurality of operations including atleast one of: discharging at least a portion of the medicine on themedicine transfer device into the first container; transferring at leasta portion of the medicine on the medicine transfer device into thesecond container; transferring at least a portion of the medicine on themedicine transfer device into the third container; discharging at leasta portion of the medicine in the first container onto the medicinetransfer device; transferring at least a portion of the medicine in thesecond container onto the medicine transfer device; and transferring atleast a portion of the medicine in the third container onto the medicinetransfer device.